加载和分享组件

加载和使用组件生态系统

本节介绍如何加载和使用现有组件。在本节中,“组件”既指单步组件,也指流水线,流水线也可以用作组件

IR YAML 可作为可移植、可共享的计算模板。这使您可以编译并与他人共享组件,并利用现有组件的生态系统。

要使用现有组件,您可以使用 components 模块加载它,并将其与其他组件一起用于流水线中。

from kfp import components

loaded_comp = components.load_component_from_file('component.yaml')

@dsl.pipeline
def my_pipeline():
    loaded_comp()

您还可以直接从 URL(例如 GitHub URL)加载组件。

loaded_comp = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/2.0.0/sdk/python/test_data/components/add_numbers.yaml')

最后,您可以使用 components.load_component_from_text 从字符串加载组件。

with open('component.yaml') as f:
    component_str = f.read()

loaded_comp = components.load_component_from_text(component_str)

由于组件和流水线以相同的格式(IR YAML)持久化,您也可以从本地文件、URL 或字符串加载流水线,就像加载组件一样。加载后,流水线可以在另一个流水线中使用。

from kfp import components

loaded_pipeline = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/2.0.0/sdk/python/test_data/pipelines/pipeline_in_pipeline_complex.yaml')

@dsl.pipeline
def my_pipeline():
    loaded_pipeline(msg='Hello KFP v2!')

一些库,例如 Google Cloud Pipeline Components 包,在可通过 pip 安装的 Python 包中提供可重用组件。

反馈

本页是否有帮助?


最后修改于 2024年6月20日:重构 Kubeflow Pipelines 文档 (#3737) (8e56df7)