加载和分享组件
加载和使用组件生态系统
本节介绍如何加载和使用现有组件。在本节中,“组件”既指单步组件,也指流水线,流水线也可以用作组件。
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)