Я хочу использовать функцию оптимизации отбраковки на графике.
Вот код моего варианта использования:
input_array = get_dask_array_from_hdf5(input_array, '/data', logic_cs=(770, 605, 700))
# input array is a dask array
subarray = input_array[:1540, :520: 210]
subarray = subarray + 25
d = subarray.dask.dicts
from dask.optimization import cull
dsk1, dependencies = cull(d, ['add-7c83a918eb5b1b9847698e0d800caf0c'])
Как вы можете видеть выше, я просто хочу добавить некоторое значение к части массива (я загрузил массив с помощью пользовательского функция, которая использует from_hdf5 в фоновом режиме).
Мой граф задач содержит некоторые «getitem» задачи, которые мне не нужны, поэтому я хочу использовать функцию cull для их удаления.
Но когда я использую:
cull(d, ['add-7c83a918eb5b1b9847698e0d800caf0c'])
Это обрезает все, кроме задачи «добавить». Я также хотел бы сохранить полезные задачи «getitems», потому что функция add применяется к этим «getitem».
Внутри этой задачи «add» находится «блочная функция», и нет упоминания о getitems для применения блочной функции, поэтому я думаю, что именно поэтому функция cull удаляет все, кроме задачи добавления.
Однако я не знаю, как приступить к изменению блочной функции, чтобы добавить полезные getitems в качестве аргументов блочной функции.
Надеюсь, я прояснил себя.
Заранее благодарю за помощь.