Как избежать ошибки памяти для большого массива данных ⇐ Python

Программы на Python
Anonymous
Как избежать ошибки памяти для большого массива данных

Сообщение Anonymous »

В Python у меня есть большой массив данных xarray (da) формы

Код: Выделить всё

In [1]: da.shape
Out[1]: (744, 24, 30, 131, 215)
Мне нужно выполнить операцию da = 10**da, однако у меня возникла ошибка памяти

Ошибка памяти: невозможно выделить 56,2 ГиБ для массива с формой (744, 24, 30, 131, 215) и типом данных float32

Есть ли способ выполнить операцию итеративно? Я попытался выполнить цикл вручную, но выдает ту же ошибку.

Код: Выделить всё

for ii in range(len(da[:,0,0,0,0])):
da[ii,:,:,:,:] = 10**da[ii,:,:,:,:]
Он отлично работает с массивами меньшего размера, например (24, 24, 30, 131, 215).

Подробнее здесь: https://stackoverflow.com/questions/790 ... -dataarray

Вернуться в «Python»