如何跳过kubeflow管道中已经运行的步骤?

时间:2019-09-24 11:34:03

标签: kubeflow kubeflow-pipelines

我正在Kubeflow中构建ML管道,但我有一个问题。是否有任何可用的现成的东西可以让我配置我的管道,以便如果存在其输出,则不会重新运行该步骤?我考虑了手动执行此操作的方法(在编译管道时检查现有输出,或者具有返回要运行的步骤列表的初始步骤,或者手动配置要作为输入参数运行的步骤)但是我找不到处理这种情况的本地方法。

对我来说,最常见的用例是重新运行模型步骤,而不重新运行数据的任何预处理;但不必具有特定的“模型开发”管道,该管道与包含数据预处理步骤的更通用的产品有所不同。或者,也许我正在评估阶段进行迭代,甚至不需要重新培训,但我仍想使用相同的管道。现在,同事们正在使用多个管道,每个管道都从不同的步骤开始,以解决此问题。

我从一个简单的map-reduce角度来解决这个问题-框架会自动检测存在的输出,并且不会默认重建它们,但是很容易为您提供重建一些或全部输出的选项。也许这会影响我使用kubeflow的方式?

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

好吧,我想我应该把解决这个问题的发现放在这里。

截至2019年9月,这不是Kubeflow的功能(据从事此工作的人员),但是作品中具有缓存功能,不应重新运行存在输出的任何步骤。

同时,我通过pipelineParam'startingStep'手动实现了它,需要重新运行所有内容。像这样:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Expression\Blend\.NETFramework\v4.5\Microsoft.Expression.Blend.WPF.targets" />

带有create_ops方法,该方法了解创建步骤的顺序并适当地链接它们(我们实际上有七个步骤,因此我真的想避免全部复制/粘贴)。

相关问题