Uppgradera skriptkörning till SDK v2
I SDK v2 konsolideras "experiment" och "körningar" till jobb.
Ett jobb har en typ. De flesta jobb är kommandojobb som kör en command
, till exempel python main.py
. Det som körs i ett jobb är oberoende för alla programmeringsspråk, så du kan köra bash
skript, anropa python
tolkar, köra en massa curl
kommandon eller något annat.
Om du vill uppgradera måste du ändra koden för att skicka jobb till SDK v2. Det du kör i jobbet behöver inte uppgraderas till SDK v2. Vi rekommenderar dock att du tar bort kod som är specifik för Azure Machine Learning från dina modellträningsskript. Den här separationen möjliggör en enklare övergång mellan lokalt och moln och anses vara bästa praxis för mogna MLOps. I praktiken innebär detta att rader med kod tas bort azureml.*
. Modellloggning och spårningskod bör ersättas med MLflow. Mer information finns i hur du använder MLflow i v2.
Den här artikeln ger en jämförelse av scenarion i SDK v1 och SDK v2.
Skicka en skriptkörning
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
Mappning av viktiga funktioner i v1 och v2
Funktioner i SDK v1 | Grov mappning i SDK v2 |
---|---|
experiment.submit | MLCLient.jobs.create_or_update |
ScriptRunConfig() | command() |
Nästa steg
Mer information finns i: