Я хочу создать огромный (> 100 ГБ) массив dask , а затем заполнить его значениями , которые я вычисляю. Затем я хочу сохранить его как файл hdf5. Я выбрал Это мой код:
import dask.array as da
size = 100000
chunks = 50000
file_path = "..."
# calculate entries
A = da.zeros(shape=(size, size), chunks=(chunks, chunks))
for i in range(size):
for j in range(size):
A[i,j] = compute_value(i,j)
# store in FS
f = h5py.File(file_path)
dset = f.create_dataset('/data', shape=A.shape, chunks=(chunks, chunks), dtype='f8')
da.store(A, dset)
Я получаю ошибку при назначении A [i, j]:
NotImplementedError: Item assignment with <class 'tuple'> not supported
Обратите внимание, что этот массив слишком большой, чтобы поместиться в RAM . Поэтому он должен каким-то образом сохранить массив как все нули, а затем обновить эту сохраненную матрицу с вычисленными значениями.
Как правильно делать это в сумерках?
Спасибо за вашу помощь!