Upgradovací skript spuštěný na sadu SDK v2

V sadě SDK v2 se experimenty a spuštění konsolidují do úloh.

Úloha má typ. Většina úloh jsou úlohy příkazů, které spouští command, například python main.py. To, co se spouští v úloze, je nezávislé na jakémkoli 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 v rámci úlohy spustíte, se nemusí upgradovat na sadu SDK v2. Doporučujeme ale ze skriptů pro trénování modelů 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 je považováno 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 sledování by se měly nahradit kódem MLflow. Další podrobnosti najdete v tématu o tom, jak používat MLflow ve verzi 2.

Tento článek nabízí 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 verzích v1 a v2

Funkce v sadě SDK v1 Hrubé mapování v sadě SDK v2
experiment.submit MLCLient.jobs.create_or_update
ScriptRunConfig() command()

Další kroky

Další informace naleznete v tématu: