CLI (v2) komut işi YAML şeması

Kaynak JSON şemasına şu şekilde https://azuremlschemas.azureedge.net/latest/commandJob.schema.json bulunabilir: .

Önemli

Bu özellik şu anda genel önizlemededir. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

YAML söz dizimi

Anahtar Tür Description İzin verilen değerler Varsayılan değer
$schema string YAML şeması. Dosyanın üst Azure Machine Learning VS Code da dahil olmak üzere YAML dosyasını yazmanız için Azure Machine Learning VS Code uzantısını kullanırsanız şema $schema ve kaynak tamamlamalarını çağırabilirsiniz.
type const İş türü. command command
name string İş adı. Çalışma alanında tüm işler arasında benzersiz olmalıdır. Atlanırsa, Azure ML adı için otomatik olarak bir GUID'i otomatik olarak yeniler.
display_name string Studio kullanıcı arabiriminde işin görünen adı. Çalışma alanı içinde benzersiz olmayan bir şey olabilir. Atlanırsa, Azure ML görünen ad için insan tarafından okunabilir bir sıfat-isim tanımlayıcısını otomatik olarak yeniler.
experiment_name string altında işi düzenlemek için deneme adı. Her işin çalıştırma kaydı, stüdyonun "Denemeler" sekmesindeki ilgili deneme altında düzenlenmiştir. Atlanırsa Azure ML varsayılan olarak işin oluşturul bulunduğu çalışma dizininin adını kullanır.
description string İş açıklaması.
tags object İş için etiket sözlüğü.
command string Gerekli. Yürütülecek komut.
code.local_path string Karşıya yük uygulanacak ve iş için kullanılacak kaynak kod dizininin yerel yolu.
environment dize veya nesne Gerekli. İş için kullanabileceğiniz ortam. Bu, çalışma alanında mevcut sürüme sahip bir ortama başvuru veya satır içi ortam belirtimi olabilir.

Mevcut bir ortama başvuru yapmak için söz dizimlerini azureml:<environment_name>:<environment_version> kullanın.

Bir ortamı satır içinde tanımlamak için Lütfen Ortam şemasını izleyin. Satır name içi version ortamlar için destekçi olmayan ve özelliklerini hariç tutabilirsiniz.
environment_variables object Komutun yürütül olduğu işlemde ayar için ortam değişkeni ad-değer çiftlerinin sözlüğü.
distribution object Dağıtılmış eğitim senaryoları için dağıtım yapılandırması. MpiConfiguration, PyTorchConfigurationveya TensorFlowConfiguration'dan biri.
compute string İş yürütülecek işlem hedefinin adı. Bu, çalışma alanında mevcut bir işlem başvurusu (söz dizimi azureml:<compute_name> kullanılarak) veya local yerel yürütmeyi atama olabilir. local
resources.instance_count tamsayı İş için kullanmak üzere düğüm sayısı. 1
limits.timeout tamsayı saniye olarak işin çalışmasına izin verilen en uzun süre. Bu sınıra ulaşıldıktan sonra sistem işi iptal eder.
inputs object İş girişlerinin sözlüğü. anahtar, iş bağlamındaki giriş için bir ad, değer ise giriş değeridir.

girişlerine ifadesi kullanılarak command ${{ inputs.<input_name> }} başvurul olabilir.
inputs.<input_name> sayı, tamsayı, boole, dize veya nesne Değişmez değerlerden biri (tür numarası, tamsayı, boole veya dize), JobInputUriveya JobInputDataset.
outputs object İş çıkış yapılandırmalarının sözlüğü. Anahtar, işin bağlamındaki çıkışın adıdır ve değer de çıkış yapılandırmasıdır.

İfade kullanılarak çıkışlara command içinde ${{ outputs.<output_name> }} başvurul olabilir.
outputs.<output_name> object İsteğe bağlı bir belirtebilirsiniz mode veya nesneyi boş bırakın. Sözlükte belirtilen her adlandırılmış outputs çıkış için Azure ML bir çıkış konumu otomatik olarak oluşturur.
outputs.<output_name>.mode string Çıkış dosyalarının hedef depolamaya nasıl teslim edilecekleri modu. Okuma-yazma bağlama modu için çıkış dizini bağlı bir dizin olur. Karşıya yükleme modu için çıkış dizinine yazılan dosyalar işin sonunda karşıya yükler. rw_mount, upload rw_mount

Dağıtım yapılandırmaları

MpiConfiguration

Anahtar Tür Description İzin verilen değerler
type const Gerekli. Dağıtım türü. mpi
process_count_per_instance tamsayı Gerekli. İş için başlatıla düğüm başına işlem sayısı.

PyTorchConfiguration

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gerekli. Dağıtım türü. pytorch
process_count_per_instance tamsayı İş için başlatıla düğüm başına işlem sayısı. 1

TensorFlowConfiguration

Anahtar Tür Description İzin verilen değerler Varsayılan değer
type const Gerekli. Dağıtım türü. tensorflow
worker_count tamsayı İş için başlatılacak çalışan sayısı. Varsayılan olarak olur resources.instance_count .
parameter_server_count tamsayı İş için başlatılacak parametre sunucularının sayısı. 0

İş girişleri

Jobınputuri

Anahtar Tür Description İzin verilen değerler Varsayılan değer
file string Giriş olarak kullanılacak tek bir dosyaya URI. Desteklenen URI türleri,,,, azureml https wasbs abfss adl . URI biçiminin nasıl kullanılacağı hakkında daha fazla bilgi için bkz. Core YAML sözdizimi azureml:// . fileYa da folder gereklidir.
folder string Giriş olarak kullanılacak bir klasöre URI. Desteklenen URI türleri azureml ,, wasbs , abfss adl . URI biçiminin nasıl kullanılacağı hakkında daha fazla bilgi için bkz. Core YAML sözdizimi azureml:// . fileYa da folder gereklidir.
mode string Verilerin işlem hedefine nasıl teslim edileceği modu. Salt yazılır bağlama ve okuma-yazma bağlama için, veriler bir bağlama yolu olarak tüketilecektir. Bir klasör, klasör olarak bağlanır ve dosya dosya olarak bağlanır. İndirme modunda veriler, indirilen bir yol olarak tüketilecektir. ro_mount, rw_mount, download ro_mount

Jobınputdataset

Anahtar Tür Description İzin verilen değerler Varsayılan değer
dataset dize veya nesne Gerekli. Giriş olarak kullanılacak veri kümesi. Bu, çalışma alanındaki mevcut bir sürümlü veri kümesine veya bir satır içi veri kümesi belirtimine yönelik bir başvuru olabilir.

Varolan bir veri kümesine başvurmak için azureml:<dataset_name>:<dataset_version> söz dizimini kullanın.

Satır içi bir veri kümesini tanımlamak için lütfen veri kümesi şemasınıizleyin. name version Satır içi veri kümelerinde desteklenmediğinden ve özelliklerini hariç tutun.
mode string Veri kümesinin işlem hedefine nasıl teslim edileceği modu. Salt okunurdur bağlama için veri kümesi bir bağlama yolu olarak tüketilecektir. Klasör bir klasör olarak bağlanır ve bir dosya üst klasör olarak bağlanır. İndirme modunda, veri kümesi indirilen bir yol olarak tüketilecektir. ro_mount, download ro_mount

Açıklamalar

az ml jobkomut Azure Machine Learning işleri yönetmek için kullanılabilir.

Örnekler

örnekler GitHub deposundaörneklere yer verilmiştir. Bazıları aşağıda gösterilmiştir.

YAML: Merhaba Dünya

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: görünen ad, deneme adı, açıklama ve Etiketler

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment:
  image: python:latest
compute: azureml:cpu-cluster
tags:
  hello: world
display_name: hello-world-example
experiment_name: hello-world-example
description: |
  # Azure Machine Learning "hello world" job

  This is a "hello world" job running in the cloud via Azure Machine Learning!

  ## Description

  Markdown is supported in the studio for job descriptions! You can edit the description there or via CLI.

YAML: ortam değişkenleri

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo $hello_env_var
environment:
  image: python:latest
compute: azureml:cpu-cluster
environment_variables:
  hello_env_var: "hello world"

YAML: kaynak kodu

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: ls
code:
  local_path: src
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: değişmez değer girişleri

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >-
  echo ${{inputs.hello_string}}
  &&
  echo ${{inputs.hello_number}}
environment:
  image: python:latest
inputs:
  hello_string: "hello world"
  hello_number: 42
compute: azureml:cpu-cluster

YAML: varsayılan çıkışlara yaz

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world" > ./outputs/helloworld.txt
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: adlandırılmış veri çıktısına yazma

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world" > ${{outputs.hello_output}}/helloworld.txt
outputs:
  hello_output:
environment:
  image: python
compute: azureml:cpu-cluster

YAML: veri deposu URI 'SI dosya girişi

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >-
  echo "--iris-csv: ${{inputs.iris_csv}}"
  &&
  pip install pandas
  &&
  python hello-iris.py
  --iris-csv ${{inputs.iris_csv}}
code:
  local_path: src
inputs:
  iris_csv: 
    file: azureml://datastores/workspaceblobstore/paths/example-data/iris.csv
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: veri deposu URI 'SI klasör girişi

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >-
  ls ${{inputs.data_dir}}
  &&
  echo "--iris-csv: ${{inputs.data_dir}}/iris.csv"
  &&
  pip install pandas
  &&
  python hello-iris.py
  --iris-csv ${{inputs.data_dir}}/iris.csv
code:
  local_path: src
inputs:
  data_dir: 
    folder: azureml://datastores/workspaceblobstore/paths/example-data/
    mode: rw_mount
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: URI dosya girişi

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >-
  echo "--iris-csv: ${{inputs.iris_csv}}"
  &&
  pip install pandas
  &&
  python hello-iris.py
  --iris-csv ${{inputs.iris_csv}}
code:
  local_path: src
inputs:
  iris_csv: 
    file: https://azuremlexamples.blob.core.windows.net/datasets/iris.csv
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: URI klasör girişi

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >-
  ls ${{inputs.data_dir}}
  &&
  echo "--iris-csv: ${{inputs.data_dir}}/iris.csv"
  &&
  pip install pandas
  &&
  python hello-iris.py
  --iris-csv ${{inputs.data_dir}}/iris.csv
code:
  local_path: src
inputs:
  data_dir: 
    folder: wasbs://datasets@azuremlexamples.blob.core.windows.net/
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: Papermill aracılığıyla Not defteri

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >-
  pip install ipykernel papermill
  &&
  papermill hello-notebook.ipynb outputs/out.ipynb -k python
code:
  local_path: src
environment:
  image: python:latest
compute: azureml:cpu-cluster

YAML: temel Python modeli eğitimi

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: 
  local_path: src
command: >-
  python main.py 
  --iris-csv ${{inputs.iris_csv}}
  --C ${{inputs.C}}
  --kernel ${{inputs.kernel}}
  --coef0 ${{inputs.coef0}}
inputs:
  iris_csv: 
    file: wasbs://datasets@azuremlexamples.blob.core.windows.net/iris.csv
  C: 0.8
  kernel: "rbf"
  coef0: 0.1
environment: azureml:AzureML-sklearn-0.24-ubuntu18.04-py37-cpu:9
compute: azureml:cpu-cluster
display_name: sklearn-iris-example
experiment_name: sklearn-iris-example
description: Train a scikit-learn SVM on the Iris dataset.

YAML: yerel Docker derleme bağlamı ile temel R model eğitimi

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >
  Rscript train.R 
  --data_folder ${{inputs.iris}}
code:
  local_path: src
inputs:
  iris: 
    file: https://azuremlexamples.blob.core.windows.net/datasets/iris.csv
environment:
  build:
    local_path: docker-context
compute: azureml:cpu-cluster
display_name: r-iris-example
experiment_name: r-iris-example
description: Train an R model on the Iris dataset.

YAML: dağıtılmış PyTorch

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: 
  local_path: src
command: >-
  python train.py 
  --epochs ${{inputs.epochs}}
  --learning-rate ${{inputs.learning_rate}}
  --data-dir ${{inputs.cifar}}
inputs:
  epochs: 1
  learning_rate: 0.2
  cifar:
    dataset: azureml:cifar-10-example:1
environment: azureml:AzureML-pytorch-1.9-ubuntu18.04-py37-cuda11-gpu:6
compute: azureml:gpu-cluster
distribution:
  type: pytorch 
  process_count_per_instance: 2
resources:
  instance_count: 2
display_name: pytorch-cifar-distributed-example
experiment_name: pytorch-cifar-distributed-example
description: Train a basic convolutional neural network (CNN) with PyTorch on the CIFAR-10 dataset, distributed via PyTorch.

YAML: dağıtılmış TensorFlow

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code:
  local_path: src
command: >-
  python train.py 
  --epochs ${{inputs.epochs}}
  --model-dir ${{inputs.model_dir}}
inputs:
  epochs: 1
  model_dir: outputs/keras-model
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:14
compute: azureml:gpu-cluster
resources:
  instance_count: 2
distribution:
  type: tensorflow
  worker_count: 2
  worker_count: 2
display_name: tensorflow-mnist-distributed-example
experiment_name: tensorflow-mnist-distributed-example
description: Train a basic neural network with TensorFlow on the MNIST dataset, distributed via TensorFlow.

YAML: dağıtılmış MPı

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code:
  local_path: src
command: >-
  python train.py
  --epochs ${{inputs.epochs}}
inputs:
  epochs: 1
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:14
compute: azureml:gpu-cluster
resources:
  instance_count: 2
distribution:
  type: mpi
  process_count_per_instance: 2
display_name: tensorflow-mnist-distributed-horovod-example
experiment_name: tensorflow-mnist-distributed-horovod-example
description: Train a basic neural network with TensorFlow on the MNIST dataset, distributed via Horovod.

Sonraki adımlar