Изменить порядок операций, применяемых к сумке для сумок

Я использую сумку для сумок для распараллеливания обработки данных по следам, собранным в ходе ряда экспериментов. Пути к файлам данных для каждого эксперимента превращаются в пользовательские объекты, а обычные операции, которые я выполняю с данными этого типа, являются объектными методами.

Каждый объект имеет идентификационный номер, связанный с конкретным экспериментом. И в какой-то момент в программе я хочу использовать этот идентификационный номер, чтобы удалить некоторые из экспериментов. Как и в этом графе задач, где объект создается из последовательности, затем применяются функции тренд-течения и деконволюции с последующей операцией удаления.

график задач Поскольку идентификационный номер эксперимента является статическим, операция удаления может быть выполнена на любом этапе графика задачи, и конечный результат будет таким же. Однако, если операция удаления выполняется с использованием других вычислительно дорогостоящих методов, результат будет намного медленнее, поскольку эти вычисления выполняются излишне для объектов, которые в итоге будут удалены.

Есть ли способ вставить операцию в более раннюю точку на графике задач для пакета, чтобы, если кто-то добавит операцию удаления в любой точке, это была первая выполненная операция?

1 ответ

Решение

Вместо того, чтобы использовать сумку для сумок, вы, возможно, захотите взглянуть на отсрочку, которая может дать вам больше гибкости:

http://dask.pydata.org/en/latest/delayed.html

Если вы действительно хотите поиграться с графом задач напрямую, то вам следует прочитать о спецификации графа.

http://dask.pydata.org/en/latest/spec.html

Другие вопросы по тегам