2

有没有办法缓存管道中实体的输出,如果我运行相同的管道但配置略有不同(想想超参数调整),管道中的某些初始步骤不受配置更改不会执行多次?

Raw data -> CPU expensive preprocessing (A) -> model fitting (B) -> model

我希望能够运行 A 一次,但 B 的多个变体。

在 Dagster 中是否有一种优雅的方法可以做到这一点?

4

1 回答 1

3

我不知道存在此功能。

当存储设置为文件系统时,Dagster 可以重新运行实体,但在缓存方面没有看到任何像您所描述的那样。如果这里没有太大的吸引力,可以向 Dagster提交问题,然后再报告

一些可能的解决方法

  1. 也许您的一个选择是物化数据并将逻辑添加到您的实体中以检查该数据是否存在于某个位置。如果是,则返回该数据,如果不是,则重新处理。这种模式给您带来了确保只保留所需文件的负担。考虑到开放式场景中潜在的可变区域,这可能是最简单的选择。
  2. 我想您可以在每次实验后将新的管道组合在一起 - 仅由需要再次运行的实体组成,并引入从文件中读取数据并为您的其他实体输出的新实体。我想,读入数据的 Solids 可能只是一种可重用和别名的 Solid。
于 2019-12-11T20:36:14.637 回答