Запуск скрипта обновления до пакета SDK версии 2
В пакете SDK версии 2 "эксперименты" и "запуски" объединяются в задания.
Каждое задание имеет тип. Большинство заданий — это задания команд, которые выполняют command
такие, как python main.py
. То, что выполняется в задании, не зависит от языка программирования, поэтому вы можете запускать скрипты bash
, вызывать интерпретаторы python
, выполнять набор команд curl
или что-либо еще.
Чтобы обновить, необходимо изменить код для отправки заданий в пакет SDK версии 2. То, что выполняется в задании, не нужно обновлять до пакета SDK версии 2. Однако рекомендуется удалить любой код, характерный для Машинное обучение Azure из скриптов обучения модели. Такое разделение позволяет легче переходить от локальной к облачной среде и считается лучшей практикой для развитого набора MLOps. На практике это означает удаление строк кода azureml.*
. Код ведения журнала и отслеживания моделей следует заменить MLflow. Дополнительные сведения см. статье об использовании MLflow в версии 2.
В этой статье приводится сравнение сценариев в пакете SDK версии 1 и пакете SDK версии 2.
Отправка запуска скрипта
Пакет SDK версии 1
from azureml.core import Workspace, Experiment, Environment, ScriptRunConfig # connect to the workspace ws = Workspace.from_config() # define and configure the experiment experiment = Experiment(workspace=ws, name='day1-experiment-train') config = ScriptRunConfig(source_directory='./src', script='train.py', compute_target='cpu-cluster') # set up pytorch environment env = Environment.from_conda_specification( name='pytorch-env', file_path='pytorch-env.yml') config.run_config.environment = env run = experiment.submit(config) aml_url = run.get_portal_url() print(aml_url)
Пакет SDK версии 2
#import required libraries from azure.ai.ml import MLClient, command from azure.ai.ml.entities import Environment from azure.identity import DefaultAzureCredential #connect to the workspace ml_client = MLClient.from_config(DefaultAzureCredential()) # set up pytorch environment env = Environment( image="mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04", conda_file="pytorch-env.yml", name="pytorch-env" ) # define the command command_job = command( code="./src", command="train.py", environment=env, compute="cpu-cluster", ) returned_job = ml_client.jobs.create_or_update(command_job) returned_job
Сопоставление ключевых функций в версии 1 и 2
Функции пакета SDK версии 1 | Грубое сопоставление в пакете SDK версии 2 |
---|---|
experiment.submit | MLCLient.jobs.create_or_update |
ScriptRunConfig() | command() |
Дальнейшие действия
Дополнительные сведения см. в разделе: