Dask如何避免重新计算

2024-04-20 14:58:53 发布

您现在位置:Python中文网/ 问答频道 /正文

使用dask,我定义了一个很长的计算管道;在api和版本中给定约束的某个时刻,我需要计算一些小的结果(不是lazy)并将其输入到lazy操作中。我的问题是,在这一点上,整个计算图将被执行,以便我可以产生一个中间结果。在接下来的步骤中,当我将最终结果存储到磁盘时,有没有一种方法可以避免在这一点上丢失所做的工作,并且必须从头开始重新计算所有内容?你知道吗

使用persist应该有帮助吗?你知道吗

任何帮助都将不胜感激。你知道吗


Tags: 方法版本api内容管道定义步骤lazy
1条回答
网友
1楼 · 发布于 2024-04-20 14:58:53

是的,这就是persist的用例。诀窍是找出在哪里应用它-这个决定通常受到以下因素的影响:

  • 中间结果的大小。这些将被保存在内存中,直到删除对它们的所有引用(例如fooin foo = intermediate.persist())。你知道吗
  • 图形的形状。最好只持久化需要重新计算的组件,以最小化持久化值对内存的影响。您可以使用.visualize()查看图表。你知道吗
  • 计算任务所需的时间。如果任务的计算速度很快,那么重新计算它们可能比把它们留在内存中更有益。你知道吗

相关问题 更多 >