Ниже приведена часть, в которой возникает ошибка:
procDask = da.stack(procArrays)
print(procDask)
print(procDask.compute())
#da.to_hdf5('out.hdf5',{'/arr',procDask})
f = h5py.File('out.hdf5',mode='w')
d = f.require_dataset('/a', shape=procDask.shape, dtype=procDask.dtype)
da.store(procDask, d)
мой procDask показывает
dask.array<stack, shape=(3, 3, 3), dtype=int16, chunksize=(1, 3, 3), chunktype=numpy.ndarray>
Однако с использованием любого из вышеупомянутых методов записи (как прокомментированный и раскомментированный), дает мне следующую ошибку:
TypeError: h5py objects cannot be pickled
Это немного более подробно, показывает исходный код et c, но я полагаю, что это основная ошибка. Я неправильно использую методы?
EDIT: Вот код, который может воспроизвести ошибку
def main():
procArray = da.ones((3,3,3))
procArray.to_hdf5('testout.hdf5','/arr')
client.shutdown()
if __name__ == "__main__":
client = Client()
main()