Przekształcenie listy z elementami 2D do 3D Array - problem z pamięcią.

0

Cześć! Mam pytanie odnośnie przekształcania listy z danymi, której każdy element jest macierzą wartości int16 (15x15), do postaci macierzy (ilość elementów, 15, 15). Oczywiście wykonanie takiej operacji jest banalne, jednak problem polega na czymś innym. Otóż mam taką listę, która ma 5.8mln takich elementów, zajmuję 300-400MB w RAM. Po wykonaniu operacji np.array a nawet np.asarray, rozmiar takiej macierzy wynosi aż 2GB. Pytanie moje jest takie, skąd taka duża różnica w rozmiarze, jak z takimi problemami sobie radzić?

Dla objaśnienia sytuacji, jestem w trakcie nauki splotowej sieci neuronowej, która potrzebuje na wejściu 'array' a nie listę, stąd jestem zmuszony to zrobić. Nie starcza mi RAM. Program realizuję w Colabs.

0

Upewnij się, że faktycznie dane są trzymane jako int16 (czyli spróbuj zrobić numpy.array(lista, dtype=numpy.int16)).

0
enedil napisał(a):

Upewnij się, że faktycznie dane są trzymane jako int16 (czyli spróbuj zrobić numpy.array(lista, dtype=numpy.int16)).

Niestety to nic nie dało :/
Zdjęcie z kodem i output z konsoli w załączniku

1 użytkowników online, w tym zalogowanych: 0, gości: 1