是否可以将 kubeflow 组件与 tensorflow 扩展组件混合使用?
Posted
技术标签:
【中文标题】是否可以将 kubeflow 组件与 tensorflow 扩展组件混合使用?【英文标题】:Is it possible to mix kubeflow components with tensorflow extended components? 【发布时间】:2021-07-17 07:20:30 【问题描述】:看起来 Kubeflow 已经弃用了所有的 TFX 组件。我目前有一些自定义 Kubeflow 组件可以帮助启动我的一些数据管道,我希望我可以在同一个 kubeflow 管道中使用一些 TFX 组件。是否有推荐的方法将 Kubeflow 和 Tfx 组件混合在一起?
我看到一个来自 Kubeflow 的老 PR 弃用了他们的 TFX 组件: https://github.com/kubeflow/pipelines/issues/3853
它说:
创建这些组件是为了允许用户使用 TFX 组件 在他们的 KFP 管道中,能够混合 KFP 和 TFX 组件。如果 您的管道仅使用 TFX 组件,请使用官方 TFX SDK。
但我确实需要混合 KFP 和 TFX 组件,有没有办法做到这一点?
【问题讨论】:
【参考方案1】:简单的答案是否定的,长答案是你可以,如果你破解它。不过体验不会很好。
当您查看示例 TFX 管道时,它有自己的 Python DSL。作为用户,您可以按照自己想要的方式定义管道组件,最后您可以更改目标运行器(Airflow、Beam 和 KFP)。 TFX 将编译它的中间表示,然后将其提交给您选择的跑步者。
那么问题是如何将它与其他工具混合使用。 TFX 编译 Argo 工作流 DAG,类似于使用 KFP SDK 或 Couler。当您使用 KubeflowDAG 运行器时,您可以找到 output Argo YAML for the pipeline。如果您使用 KFP 原生管道重复相同的编译过程,您将拥有两个 Argo YAML,您可以将它们合并在一起以实现您想要的特定工作负载。
如果您使用的是 MLMD,您可能需要进行一些输入/输出操作才能使其正常工作。
【讨论】:
以上是关于是否可以将 kubeflow 组件与 tensorflow 扩展组件混合使用?的主要内容,如果未能解决你的问题,请参考以下文章
在 Kubeflow Pipelines 中,如何将元素列表发送到轻量级 python 组件?
如何将 OutputPathPlaceholder 与带有 Kubeflow 管道的字符串连接起来?