Udostępnij za pośrednictwem


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: