Sdílet prostřednictvím


Upgrade skriptu spuštěné na SDK v2

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

Úloha má typ. Většina úloh je příkazových úloh, které spouští například commandpython main.py. Co se spouští v úloze, je nezávislé na libovolném 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 spouštíte v rámci úlohy, není potřeba upgradovat na sadu SDK v2. Z trénovacích skriptů modelu se ale doporučuje 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 považuje se 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 pro sledování by se měl nahradit MLflow. Další podrobnosti najdete v tématu použití MLflow v2.

Tento článek poskytuje 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 v1 a v2

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

Další kroky

Další informace naleznete v tématu: