Uaktualnianie skryptu uruchamiane do zestawu SDK w wersji 2
W zestawie SDK w wersji 2 "eksperymenty" i "przebiegi" są konsolidowane w zadaniach.
Zadanie ma typ. Większość zadań to zadania poleceń, które uruchamiają element command
, na przykład python main.py
. To, co działa w zadaniu, jest niezależne od dowolnego języka programowania, więc można uruchamiać bash
skrypty, wywoływać python
interpretery, uruchamiać kilka curl
poleceń lub cokolwiek innego.
Aby przeprowadzić uaktualnienie, musisz zmienić kod przesyłania zadań do zestawu SDK w wersji 2. To, co jest uruchamiane w ramach zadania, nie musi zostać uaktualnione do zestawu SDK w wersji 2. Zaleca się jednak usunięcie dowolnego kodu specyficznego dla usługi Azure Machine Learning ze skryptów trenowania modelu. Ta separacja umożliwia łatwiejsze przejście między środowiskiem lokalnym a chmurą i jest uważane za najlepsze rozwiązanie dla dojrzałych metodyki MLOps. W praktyce oznacza to usunięcie azureml.*
wierszy kodu. Kod rejestrowania i śledzenia modelu należy zastąpić biblioteką MLflow. Aby uzyskać więcej informacji, zobacz , jak używać biblioteki MLflow w wersji 2.
W tym artykule przedstawiono porównanie scenariuszy w zestawie SDK w wersji 1 i zestawu SDK w wersji 2.
Przesyłanie przebiegu skryptu
Zestaw SDK w wersji 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)
Zestaw SDK w wersji 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
Mapowanie kluczowych funkcji w wersji 1 i 2
Funkcje w zestawie SDK w wersji 1 | Przybliżone mapowanie w zestawie SDK w wersji 2 |
---|---|
experiment.submit | MLCLient.jobs.create_or_update |
ScriptRunConfig() | command() |
Następne kroki
Aby uzyskać więcej informacji, zobacz: