注意
单击 这里 下载完整的示例代码
分布式 KubeFlow Pipelines 示例¶
这是一个使用 resource_from_app 启动使用 kubernetes/volcano 作业调度程序的分布式运算符的示例 KFP 管道。 这仅在 Kubernetes KFP 集群中有效,这些集群在其中安装了 https://volcano.sh/en/docs/。
import kfp
from torchx import specs
from torchx.pipelines.kfp.adapter import resource_from_app
def pipeline() -> None:
# First we define our AppDef for the component, we set
echo_app = specs.AppDef(
name="test-dist",
roles=[
specs.Role(
name="dist-echo",
image="alpine",
entrypoint="/bin/echo",
args=["hello dist!"],
num_replicas=3,
),
],
)
# To convert the TorchX AppDef into a KFP container we use
# the resource_from_app adapter. This takes generates a KFP Kubernetes
# resource operator definition from the TorchX app def and instantiates it.
echo_container: kfp.dsl.BaseOp = resource_from_app(echo_app, queue="default")
要生成管道定义文件,我们需要使用我们的管道函数调用 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 Pipelines 示例。
# sphinx_gallery_thumbnail_path = '_static/img/gallery-kfp.png'
脚本的总运行时间:(0 分钟 0.000 秒)