Aracılığıyla paylaş


Betik çalıştırmasını SDK v2'ye yükseltme

SDK v2'de "denemeler" ve "çalıştırmalar" işlerde birleştirilir.

bir işin türü vardır. İşlerin çoğu gibi python main.pybir commandçalıştıran komut işleridir. bir işte çalışan her programlama dilinden bağımsızdır, bu nedenle betik çalıştırabilir bash , yorumlayıcı çağırabilir python , bir dizi curl komut çalıştırabilir veya başka herhangi bir şey yapabilirsiniz.

Yükseltmek için sdk v2'ye iş gönderme kodunuzu değiştirmeniz gerekir. İş içinde çalıştırdığınız şeyin SDK v2'ye yükseltilmesi gerekmez. Ancak model eğitim betiklerinizden Azure Machine Learning'e özgü tüm kodları kaldırmanız önerilir. Bu ayrım, yerel ve bulut arasında daha kolay bir geçiş sağlar ve olgun MLOps için en iyi uygulama olarak kabul edilir. Uygulamada bu, kod satırlarını azureml.* kaldırma anlamına gelir. Model günlüğü ve izleme kodu MLflow ile değiştirilmelidir. Diğer ayrıntılar için bkz. v2'de MLflow'u kullanma.

Bu makalede SDK v1 ve SDK v2'deki senaryoların karşılaştırması yer alır.

Betik çalıştırması gönderme

  • 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 ve v2'deki temel işlevleri eşleme

SDK v1'deki İşlevsellik SDK v2'de kaba eşleme
experiment.submit MLCLient.jobs.create_or_update
ScriptRunConfig() command()

Sonraki adımlar

Daha fazla bilgi için bkz.