將腳本執行至 SDK v2

在 SDK v2 中,「實驗」和「執行」會合併到作業中。

工作具有類型。 大部分作業都是執行 command的命令作業,例如 python main.py。 工作中執行的內容與任何程式設計語言無關,因此您可以執行 bash 指令碼、叫用 python 解譯器、執行一堆 curl 命令或任何其他項目。

若要升級,您必須變更程序代碼,才能將作業提交至 SDK v2。 您在作業內執行的內容不需要升級至 SDK v2。 不過,建議您從模型定型腳本中移除 Azure 機器學習 特有的任何程序代碼。 此區隔可讓您更輕鬆地在本機和雲端之間進行轉換,並被視為成熟 MLOps 的最佳做法。 實際上,這表示移除 azureml.* 程式代碼行。 模型記錄和追蹤程式代碼應該取代為 MLflow。 如需詳細資訊,請參閱 如何在 v2 中使用 MLflow。

本文提供 SDK v1 和 SDK v2 中案例的比較。

提交腳本執行

  • 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
    

v1 和 v2 中主要功能的對應

SDK v1 中的功能 SDK v2 中的粗略對應
experiment.submit MLCLient.jobs.create_or_update
ScriptRunConfig() command()

下一步

如需詳細資訊,請參閱