是否可以将 kubeflow 组件与 Tensorflow 扩展组件混合使用?

sle*_*owl 5 kubeflow tfx kubeflow-pipelines

Kubeflow 似乎已弃用其所有 TFX 组件。我目前有一些自定义 Kubeflow 组件,可以帮助启动一些数据管道,我希望可以在同一个 kubeflow 管道中使用一些 TFX 组件。是否有推荐的方法将 Kubeflow 和 Tfx 组件混合在一起?

我看到 Kubeflow 的一个旧 PR 弃用了他们的 TFX 组件: https://github.com/kubeflow/pipelines/issues/3853

它指出:

创建这些组件是为了允许用户在其 KFP 管道中使用 TFX 组件,以便能够混合 KFP 和 TFX 组件。如果您的管道仅使用 TFX 组件,请使用官方 TFX SDK。

但我实际上确实需要混合 KFP 和 TFX 组件,有办法做到这一点吗?

use*_*299 3

简单的答案是否定的,详细的答案是如果你破解它,你可以。不过体验不会很好。

当您查看示例 TFX 管道时,它有自己的 Python DSL。作为用户,您可以按照您希望的运行方式定义管道组件,最后您可以更改目标运行器(Airflow、Beam 和 KFP)。TFX 将编译其中间表示,然后将其提交给您选择的运行器。

那么问题是如何将其与其他工具混合使用。TFX 编译 Argo 工作流程 DAG,类似于使用 KFP SDK 或 Couler。当您使用 KubeflowDAG 运行器时,您可以找到管道的输出 Argo YAML。如果您使用 KFP 本机管道重复相同的编译过程,您将拥有两个 Argo YAML,您可以将两个 Argo YAML 合并在一起,以满足您想要的特定工作负载。

如果您使用 MLMD,您可能需要进行一些输入/输出操作才能使其正常工作。