快捷键

Kubeflow 管道示例简介

这是一个使用 Kubeflow 管道构建的入门管道,仅使用 TorchX 组件。

TorchX 旨在允许创建跨平台组件。因此,我们有一个标准定义,它使用适配器将其转换为特定管道平台。这是一个使用 KFP 适配器将 TorchX 组件作为 Kubeflow 管道的一部分运行的示例。

TorchX 尝试尽可能地利用标准机制。对于 KFP,我们使用现有的 KFP 管道定义语法,并添加一个 component_from_app 转换步骤,将 TorchX 组件转换为 KFP 可以理解的组件。

通常,您会有一个单独的组件文件,但在这个示例中,我们将 AppDef 定义为内联。

import kfp
from torchx import specs
from torchx.pipelines.kfp.adapter import container_from_app


def pipeline() -> None:
    # First we define our AppDef for the component. AppDef is a core part of TorchX
    # and can be used to describe complex distributed multi container apps or
    # just a single node component like here.
    echo_app: specs.AppDef = specs.AppDef(
        name="examples-intro",
        roles=[
            specs.Role(
                name="worker",
                entrypoint="/bin/echo",
                args=["Hello TorchX!"],
                image="alpine",
            )
        ],
    )

    # To convert the TorchX AppDef into a KFP container we use
    # the container_from_app adapter. This takes generates a KFP component
    # definition from the TorchX app def and instantiates it into a container.
    echo_container: kfp.dsl.ContainerOp = container_from_app(echo_app)

要生成管道定义文件,我们需要使用我们的管道函数调用 KFP 编译器。

kfp.compiler.Compiler().compile(
    pipeline_func=pipeline,
    package_path="pipeline.yaml",
)

with open("pipeline.yaml", "rt") as f:
    print(f.read())

完成所有操作后,您应该会得到一个管道文件(通常是 pipeline.yaml),您可以通过 UI 或 kfp.Client 将其上传到您的 KFP 集群。

有关启动 KFP 管道的更多信息,请参阅 KFP SDK 示例

有关如何将多个组件链接在一起并使用内置组件的信息,请参阅 高级 Kubeflow 管道示例

# sphinx_gallery_thumbnail_path = '_static/img/gallery-kfp.png'

脚本总运行时间:(0 分钟 0.000 秒)

由 Sphinx-Gallery 生成的图库

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源