我如何运行一组节点与Dask

How do I run a group of nodes together with Dask

我有一个图像处理图,我想批量处理很多图像。我的图表如下所示:

当我 运行 图形散景显示执行路径如下:

这会导致我的机器 运行 内存不足并崩溃,因为加载图像的输出是数兆字节的图像。我希望图表像这样 运行 因为保存结果非常小并且应该没问题:

如何使用 dask 执行此操作?

Customizing Optimization 似乎在我可能融合中间节点的地方很有用。这是最好的方法吗?

Dask 更喜欢执行可以释放内存的任务,这在您的示例中应该是深度明智的。但是,它也为您提供了并行性;所以最简单的方法可能就是只雇一名工人。

确实,图中的线性链可以很好地说明保险丝。您可以自己调用优化(dask.optimization.inline_functionsdask.optimization.fuse,不需要自定义),或者您可以编写一个函数,在单个任务中依次显式调用每个子任务(save(process(load(..))) ).