组件

Kubeflow Pipelines 组件的概念概述

一个 管道组件 是一个自包含的代码集合,执行机器学习工作流(管道)中的一步,例如数据预处理、数据转换、模型训练等。组件类似于一个函数,因为它有一个名称、参数、返回值和主体。

组件代码

每个组件的代码包括以下内容:

  • 客户端代码: 与端点通信以提交作业的代码。例如,向Google Dataproc API提交Spark作业的代码。

  • 运行时代码: 实际执行任务的代码,通常在集群中运行。例如,Spark代码将原始数据转换为预处理数据。

请注意客户端代码和运行时代码的命名约定——对于一个名为“mytask”的任务:

  • mytask.py 程序包含客户端代码。
  • 目录 mytask 包含所有的运行时代码。

组件定义

YAML格式的组件规范描述了Kubeflow Pipelines系统中的组件。组件定义包括以下部分:

  • 元数据: 名称,描述等。
  • 接口: 输入/输出规范(名称、类型、描述、默认值等)。
  • 实现: 指定如何运行组件,给定组件输入的参数值。实现部分还描述了组件运行完成后如何获取输出值。

有关组件的完整定义,请参阅 组件规范

组件容器化

您必须将组件打包为一个 Docker 镜像。组件表示容器内的特定程序或入口点。

管道中的每个组件独立执行。组件不在同一个进程中运行,无法直接共享内存数据。您必须将所有在组件之间传递的数据片段序列化(为字符串或文件),以便数据可以通过分布式网络传输。然后,您必须反序列化数据以供下游组件使用。

下一步

反馈

此页面有帮助吗?