自定义图中的Dask机会缓存-第2部分

时间:2019-08-20 02:15:30

标签: dask

这是Dask opportunistic caching in custom graphs的扩展名。现在假设我有一个自定义图形,如下所示:

dag = {'load': (load, 'myfile.txt'),
       'heavy_comp': (heavy_comp, 'load'),
       'simple_comp_1': (sc_1, 'heavy_comp'),
       'simple_comp_2': (sc_2, 'heavy_comp'),
       'simple_comp_3': (sc_3, 'heavy_comp'),
       'merger_comp': (merge, 'simple_comp_1', 'simple_comp_2', 'simple_comp_3')}

我仅对最后一个键执行Dask计算:

import dask

dask.get(dag, 'merger_comp')

这似乎在heavy_compsimple_comp_1simple_comp_2的三个函数中每次都调用函数simple_comp_3。有没有一种方法可以使Dask缓存或存储heavy_comp的结果,因此它只被调用一次?

1 个答案:

答案 0 :(得分:0)

  

这似乎为simple_comp_1,simple_comp_2和simple_comp_3分别调用了函数heavy_comp三次。有没有办法让Dask缓存或存储heavy_comp的结果,以便只调用一次?

如评论中所述。 Dask不会三次计算该函数。它只计算一次并共享中间结果。

(很高兴提供答案而不是发表评论,以便维护人员知道他们将来不必跟踪此问题)