我正在 Azure 机器学习工作室中创建将在管道中一起运行的组件。在这个基本示例中,我有一个
python
脚本和一个 yml
文件组成了我的组件,以及一个我用来定义、实例化和运行管道的笔记本。请参阅下面该组件的文件夹结构概述。
📦component
┣ 📜notebook.ipynb
┣ 📜component_script.py
┗ 📜component_def.yml
在我的笔记本中,我可以加载该组件并使用下面的代码将其注册到工作区(请注意,这里我已经实例化了我的
ml_client
对象)。
# importing the Component Package
from azure.ai.ml import load_component
# Loading the component from the yml file
component = load_component("component_def.yml")
# Now we register the component to the workspace
component = ml_client.create_or_update(component)
然后我可以成功地将这个组件传递到管道中。我的问题是,现在我已经注册了我的组件,我应该不再需要使用
component = load_component("component_def.yml")
实例化我的组件对象,这需要访问 yml
文件。相反,我应该能够从注册的组件实例化我的组件对象。我怎样才能做到这一点?
在微软文档中找到了解决方案,在此发布答案,以防其他人难以找到解决方案。事实证明,使用 python sdk v2 可以非常简单地实现这一点,只需一行代码即可完成,请参阅下面的文档摘录here:
prep = ml_client.components.get(name="prep_data", version="1")