Upgradovací skript spuštěný na sadu SDK v2
V sadě SDK v2 se experimenty a spuštění konsolidují do úloh.
Úloha má typ. Většina úloh jsou úlohy příkazů, které spouští command
, například python main.py
. To, co se spouští v úloze, je nezávislé na jakémkoli programovacím jazyce, takže můžete spouštět bash
skripty, vyvolávat python
interprety, spouštět spoustu curl
příkazů nebo cokoli jiného.
Pokud chcete upgradovat, budete muset změnit kód pro odesílání úloh do sady SDK v2. To, co v rámci úlohy spustíte, se nemusí upgradovat na sadu SDK v2. Doporučujeme ale ze skriptů pro trénování modelů odebrat veškerý kód specifický pro Azure Machine Learning. Toto oddělení umožňuje snadnější přechod mezi místním prostředím a cloudem a je považováno za osvědčený postup pro vyspělé MLOps. V praxi to znamená odebrání azureml.*
řádků kódu. Protokolování modelu a kód sledování by se měly nahradit kódem MLflow. Další podrobnosti najdete v tématu o tom, jak používat MLflow ve verzi 2.
Tento článek nabízí porovnání scénářů v sadě SDK v1 a SDK v2.
Odeslání spuštění skriptu
Sada SDK v1
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 v2
#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
Mapování klíčových funkcí ve verzích v1 a v2
Funkce v sadě SDK v1 | Hrubé mapování v sadě SDK v2 |
---|---|
experiment.submit | MLCLient.jobs.create_or_update |
ScriptRunConfig() | command() |
Další kroky
Další informace naleznete v tématu: