У меня есть несколько массивов dask, и я хотел бы сохранить их в GIF или какой-нибудь формат фильма, используя imageio
по одному кадру за раз, но я думаю, что проблема достаточно общая, чтобы решение могло помочь другим людям.Мне интересно, есть ли способ вычислить массивы по порядку и, вычисляя один массив и записывая его на диск, начать вычислять следующий на оставшихся рабочих.Если возможно, было бы неплохо, если бы планировщик / график могли делить задачи между массивами dask, если они есть.
Код выглядел бы примерно так в моих глазах:
import dask.array as da
writer = Writer(...)
for dask_arr in da.compute([dask_arr1, dask_arr2, dask_arr3]):
writer.write_frame(dask_arr)
Это выглядиткак будто это возможно взломать пользователи с распределенным планировщиком, но я бы хотел использовать поточный планировщик, если это возможно.Я также не уверен, что это супер полезно в моем конкретном случае, учитывая использование памяти или необходимость писать целые кадры за раз вместо кусков.Я также не сомневаюсь, что это может быть обработано в пользовательском массивоподобном объекте с da.store
... кое-как.