CLI (v2) komut işi YAML şeması
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)
Kaynak JSON şeması adresinde https://azuremlschemas.azureedge.net/latest/commandJob.schema.jsonbulunabilir.
Not
Bu belgede ayrıntılı olarak yer alan YAML söz dizimi, ML CLI v2 uzantısının en son sürümü için JSON şemasını temel alır. Bu söz diziminin yalnızca ML CLI v2 uzantısının en son sürümüyle çalışması garanti edilir. Eski uzantı sürümleri için şemaları adresinde https://azuremlschemasprod.azureedge.net/bulabilirsiniz.
YAML söz dizimi
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
$schema |
Dize | YAML şeması. YAML dosyasını yazmak için Azure Machine Learning VS Code uzantısını kullanırsanız, dosyanızın üst kısmındakiler de dahil olmak üzere $schema şema ve kaynak tamamlama işlemlerini çağırmanıza olanak tanır. |
||
type |
const | İşin türü. | command |
command |
name |
Dize | İşin adı. Çalışma alanı içindeki tüm işlerde benzersiz olmalıdır. Belirtilmezse, Azure Machine Learning ad için bir GUID'yi otomatik olarak oluşturur. | ||
display_name |
Dize | Stüdyo kullanıcı arabiriminde işin görünen adı. Çalışma alanı içinde nonunique olabilir. Belirtilmezse, Azure Machine Learning görünen ad için insan tarafından okunabilir bir sıfat-isim tanımlayıcısı oluşturur. | ||
experiment_name |
Dize | İşin düzenleyeceği deneme adı. Her işin çalıştırma kaydı, stüdyonun "Denemeler" sekmesinde ilgili deneme altında düzenlenir. Belirtilmezse, Azure Machine Learning bunu varsayılan olarak işin oluşturulduğu çalışma dizininin adıyla belirler. | ||
description |
Dize | İşin açıklaması. | ||
tags |
nesne | İş için etiket sözlüğü. | ||
command |
Dize | Yürütülecek komut. | ||
code |
Dize | karşıya yüklenecek ve iş için kullanılacak kaynak kod dizinine yönelik yerel yol. | ||
environment |
dize veya nesne | İş için kullanılacak ortam. Çalışma alanında var olan bir sürüme sahip ortama başvuru veya satır içi ortam belirtimi olabilir. Var olan bir ortama başvurmak için söz dizimini azureml:<environment_name>:<environment_version> veya azureml:<environment_name>@latest (bir ortamın en son sürümüne başvurmak için) kullanın. Bir ortamı satır içinde tanımlamak için Ortam şemasını izleyin. name satır içi ortamlar için desteklenmediğinden ve version özelliklerini hariç tutun. |
||
environment_variables |
nesne | Komutun yürütüldüğü işlemde ayarlanacağı ortam değişkeni anahtar-değer çiftlerinin sözlüğü. | ||
distribution |
nesne | Dağıtılmış eğitim senaryoları için dağıtım yapılandırması. MpiConfiguration, PyTorchConfiguration veya TensorFlowConfiguration'lardan biri. | ||
compute |
Dize | İşin yürütülecek işlem hedefinin adı. Çalışma alanında var olan bir işlem için başvuru (söz dizimi kullanılarak azureml:<compute_name> ) veya local yerel yürütmeyi belirtmek için olabilir. Not: İşlem hattındaki işler şu şekilde desteklemiyor local : compute |
local |
|
resources.instance_count |
integer | İş için kullanılacak düğüm sayısı. | 1 |
|
resources.instance_type |
Dize | İş için kullanılacak örnek türü. Azure Arc özellikli Kubernetes işlemi üzerinde çalışan işler için geçerlidir (alanında compute belirtilen işlem hedefinin olduğu yer).type: kubernentes Belirtilmezse, Kubernetes kümesi için varsayılan örnek türü varsayılandır. Daha fazla bilgi için bkz . Kubernetes örnek türleri oluşturma ve seçme. |
||
resources.shm_size |
Dize | Docker kapsayıcısının paylaşılan bellek bloğunun boyutu. Sayının 0'dan büyük olması ve birimin <number><unit> b biri (bayt), (kilobayt), k (megabayt) m veya g (gigabayt) olabileceği biçimde olmalıdır. |
2g |
|
limits.timeout |
integer | İşin çalışmasına izin verilen saniye cinsinden en uzun süre. Bu sınıra ulaşıldığında sistem işi iptal eder. | ||
inputs |
nesne | İşe giriş sözlüğü. anahtar, iş bağlamında girişin adı ve değer giriş değeridir. ifade kullanılarak girişlere başvurulabilir command ${{ inputs.<input_name> }} . |
||
inputs.<input_name> |
sayı, tamsayı, boole, dize veya nesne | Sabit değerlerden biri (sayı, tamsayı, boole veya dize türünde) veya iş girişi veri belirtimi içeren bir nesne. | ||
outputs |
nesne | İşin çıkış yapılandırmaları sözlüğü. Anahtar, iş bağlamındaki çıkışın adıdır ve değer çıkış yapılandırmasıdır. çıkışlarına ifadesi kullanılarak ${{ outputs.<output_name> }} içinde başvurulabilircommand . |
||
outputs.<output_name> |
nesne | Nesneyi boş bırakabilirsiniz. Bu durumda varsayılan olarak çıkış türündedir uri_folder ve Azure Machine Learning çıkış için bir çıkış konumu oluşturur. Çıkış dizinine dosyalar okuma-yazma bağlama yoluyla yazılır. Çıkış için farklı bir mod belirtmek istiyorsanız, iş çıktısı belirtimini içeren bir nesne sağlayın. |
||
identity |
nesne | Kimlik, verilere erişmek için kullanılır. UserIdentityConfiguration, ManagedIdentityConfiguration veya None olabilir. UserIdentityConfiguration ise, iş göndericisinin kimliği çıkış klasörüne erişmek, veri girişi yapmak ve sonuç yazmak için kullanılır, aksi takdirde işlem hedefinin yönetilen kimliği kullanılır. |
Dağıtım yapılandırmaları
MpiConfiguration
Anahtar | Type | Açıklama | İzin verilen değerler |
---|---|---|---|
type |
const | Gerekli. Dağıtım türü. | mpi |
process_count_per_instance |
integer | Gerekli. İş için başlatacak düğüm başına işlem sayısı. |
PyTorchConfiguration
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
type |
const | Gerekli. Dağıtım türü. | pytorch |
|
process_count_per_instance |
integer | İş için başlatacak düğüm başına işlem sayısı. | 1 |
TensorFlowConfiguration
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
type |
const | Gerekli. Dağıtım türü. | tensorflow |
|
worker_count |
integer | İş için başlatacak çalışan sayısı. | varsayılan değeridir resources.instance_count . |
|
parameter_server_count |
integer | İş için başlatacak parametre sunucularının sayısı. | 0 |
İş girişleri
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
type |
Dize | İş girişi türü. Tek bir dosya kaynağına işaret eden giriş verileri veya uri_folder bir klasör kaynağına işaret eden giriş verileri için belirtinuri_file . |
uri_file , uri_folder , mlflow_model , custom_model |
uri_folder |
path |
Dize | Giriş olarak kullanılacak verilerin yolu. Birkaç şekilde belirtilebilir: - Veri kaynağı dosyasının veya klasörünün yerel yolu, örneğin. path: ./iris.csv Veriler iş gönderimi sırasında karşıya yüklenir. - Giriş olarak kullanılacak dosya veya klasörün bulut yolunun URI'sini. Desteklenen URI türleri : azureml , https , wasbs , abfss , adl . URI biçimini kullanma azureml:// hakkında daha fazla bilgi için bkz. Çekirdek yaml söz dizimi. - Giriş olarak kullanılacak kayıtlı bir Azure Machine Learning veri varlığı. Kayıtlı bir veri varlığına başvurmak için söz dizimini azureml:<data_name>:<data_version> veya azureml:<data_name>@latest (bu veri varlığının en son sürümüne başvurmak için) kullanın; örneğin, path: azureml:cifar10-data:1 veya path: azureml:cifar10-data@latest . |
||
mode |
Dize | Verilerin işlem hedefine nasıl teslim edilmesi gerektiği modu. Salt okunur bağlama () ro_mount için veriler bağlama yolu olarak kullanılır. Klasör bir klasör olarak bağlanır ve dosya dosya olarak bağlanır. Azure Machine Learning bağlama yolunun girişini çözümler. Mod için download veriler işlem hedefine indirilir. Azure Machine Learning, indirilen yola yönelik girişi çözümler. Verileri bağlamak veya indirmek yerine yalnızca veri yapıtlarının depolama konumunun URL'sini direct istiyorsanız modu kullanabilirsiniz. Bu mod, iş girişi olarak depolama konumunun URL'sini geçirir. Bu durumda, depolama alanına erişmek için kimlik bilgilerini işlemek sizin sorumluluğundadır. eval_mount ve eval_download modları MLTable için benzersizdir ve verileri yol olarak bağlar veya verileri işlem hedefine indirir. Modlar hakkında daha fazla bilgi için bkz. bir işteki verilere erişme |
ro_mount , download , direct , eval_download , , eval_mount |
ro_mount |
İş çıkışları
Anahtar | Type | Açıklama | İzin verilen değerler | Default value |
---|---|---|---|---|
type |
Dize | İş çıktısının türü. Varsayılan uri_folder tür için çıkış bir klasöre karşılık gelir. |
uri_folder , mlflow_model , custom_model |
uri_folder |
mode |
Dize | Çıkış dosyalarının hedef depolamaya teslim etme modu. Okuma-yazma bağlama modu ()rw_mount için çıkış dizini bağlı bir dizindir. Karşıya yükleme modu için yazılan dosyalar işin sonunda karşıya yüklenir. |
rw_mount , upload |
rw_mount |
Kimlik yapılandırmaları
UserIdentityConfiguration
Anahtar | Type | Açıklama | İzin verilen değerler |
---|---|---|---|
type |
const | Gerekli. Kimlik türü. | user_identity |
ManagedIdentityConfiguration
Anahtar | Type | Açıklama | İzin verilen değerler |
---|---|---|---|
type |
const | Gerekli. Kimlik türü. | managed veya managed_identity |
Açıklamalar
Komutu, az ml job
Azure Machine Learning işlerini yönetmek için kullanılabilir.
Örnekler
Örnekler GitHub deposunda bulunabilir. Aşağıdaki bölümlerde örneklerden bazıları gösterilmektedir.
YAML: merhaba dünya
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment:
image: library/python:latest
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: library/python:latest
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: library/python:latest
environment_variables:
hello_env_var: "hello world"
YAML: kaynak kodu
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: ls
code: src
environment:
image: library/python:latest
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: library/python:latest
inputs:
hello_string: "hello world"
hello_number: 42
YAML: varsayılan çıkışlara yazma
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world" > ./outputs/helloworld.txt
environment:
image: library/python:latest
YAML: adlandırılmış veri çıkışı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
YAML: datastore URI dosya girişi
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
echo "--iris-csv: ${{inputs.iris_csv}}"
python hello-iris.py --iris-csv ${{inputs.iris_csv}}
code: src
inputs:
iris_csv:
type: uri_file
path: azureml://datastores/workspaceblobstore/paths/example-data/iris.csv
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
YAML: datastore 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"
python hello-iris.py --iris-csv ${{inputs.data_dir}}/iris.csv
code: src
inputs:
data_dir:
type: uri_folder
path: azureml://datastores/workspaceblobstore/paths/example-data/
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
YAML: URI dosya girişi
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
echo "--iris-csv: ${{inputs.iris_csv}}"
python hello-iris.py --iris-csv ${{inputs.iris_csv}}
code: src
inputs:
iris_csv:
type: uri_file
path: https://azuremlexamples.blob.core.windows.net/datasets/iris.csv
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
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"
python hello-iris.py --iris-csv ${{inputs.data_dir}}/iris.csv
code: src
inputs:
data_dir:
type: uri_folder
path: wasbs://datasets@azuremlexamples.blob.core.windows.net/
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
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: src
environment:
image: library/python:3.11.6
YAML: temel Python modeli eğitimi
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python main.py
--iris-csv ${{inputs.iris_csv}}
--C ${{inputs.C}}
--kernel ${{inputs.kernel}}
--coef0 ${{inputs.coef0}}
inputs:
iris_csv:
type: uri_file
path: wasbs://datasets@azuremlexamples.blob.core.windows.net/iris.csv
C: 0.8
kernel: "rbf"
coef0: 0.1
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
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 modeli eğitimi
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >
Rscript train.R
--data_folder ${{inputs.iris}}
code: src
inputs:
iris:
type: uri_file
path: https://azuremlexamples.blob.core.windows.net/datasets/iris.csv
environment:
build:
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: 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:
type: uri_folder
path: azureml:cifar-10-example@latest
environment: azureml:AzureML-acpt-pytorch-2.2-cuda12.1@latest
compute: azureml:gpu-cluster
distribution:
type: pytorch
process_count_per_instance: 1
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: 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.16-cuda12@latest
compute: azureml:gpu-cluster
resources:
instance_count: 2
distribution:
type: tensorflow
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.