Я работаю в Azure Machine Learning Studio над созданием компонентов, которые буду запускать вместе в конвейере. В этом базовом примере у меня есть один скрипт 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 есть множество библиотек и фреймворков для разработки веб-приложений.
Я нашел решение в документации Microsoft и разместил ответ здесь, если кто-то еще не сможет найти решение. Оказывается, этого довольно просто добиться с помощью Python sdk v2, это можно сделать одной строкой кода, см. выдержку из документации здесь ниже:
comp = ml_client.components.get(name = "<component_name>", version = "<component_version>")