Upgrade skriptu spuštěné na SDK v2
V sadě SDK v2 se experimenty a spuštění konsolidují do úloh.
Úloha má typ. Většina úloh je příkazových úloh, které spouští například command
python main.py
. Co se spouští v úloze, je nezávislé na libovolném 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 spouštíte v rámci úlohy, není potřeba upgradovat na sadu SDK v2. Z trénovacích skriptů modelu se ale doporučuje 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 považuje se 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 pro sledování by se měl nahradit MLflow. Další podrobnosti najdete v tématu použití MLflow v2.
Tento článek poskytuje 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 v1 a v2
Funkce v sadě SDK v1 | Přibližné mapování v sadě SDK v2 |
---|---|
experiment.submit | MLCLient.jobs.create_or_update |
ScriptRunConfig() | command() |
Další kroky
Další informace naleznete v tématu: