CLI (v2) komut bileşeni YAML şeması
ŞUNLAR IÇIN GEÇERLIDIR:Azure CLI ml uzantısı v2 (geçerli)
Kaynak JSON şeması adresinde https://azuremlschemas.azureedge.net/latest/commandComponent.schema.jsonbulunabilir.
Not
Bu belgede ayrıntılarıyla belirtilen 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ışacağı garanti edilir. Eski uzantı sürümleri için şemaları adresinde https://azuremlschemasprod.azureedge.net/bulabilirsiniz.
YAML söz dizimi
Anahtar | Tür | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
$schema |
string | 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ı da dahil olmak üzere $schema şema ve kaynak tamamlamalarını çağırmanıza olanak tanır. |
||
type |
const | Bileşenin türü. | command |
command |
name |
string | Gereklidir. Bileşenin adı. Küçük harfle başlamalıdır. İzin verilen karakterler küçük harf, sayı ve alt çizgidir(_). Uzunluk üst sınırı 255 karakterdir. | ||
version |
string | Bileşenin sürümü. Belirtilmezse Azure Machine Learning bir sürümü otomatik olarak oluşturur. | ||
display_name |
string | Studio kullanıcı arabiriminde bileşenin görünen adı. Çalışma alanı içinde benzersiz olmayabilir. | ||
description |
string | Bileşenin açıklaması. | ||
tags |
object | Bileşen için etiket sözlüğü. | ||
is_deterministic |
boolean | Bu seçenek, bileşenin aynı giriş verileri için aynı çıkışı üretip üretmeyeceğini belirler. Bunu genellikle URL'den veri içeri aktarma gibi dış kaynaklardan veri yükleyen bileşenler için olarak ayarlamanız false gerekir. Bunun nedeni URL'deki verilerin zaman içinde değişebileceğindendir. |
true |
|
command |
string | Gereklidir. Yürütülecek komut. | ||
code |
string | Yüklenecek ve bileşen için kullanılacak kaynak kodu dizininin yerel yolu. | ||
environment |
dize veya nesne | Gereklidir. Bileşen için kullanılacak ortam. Bu değer, ç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> kullanın. Bir ortamı satır içinde tanımlamak için Ortam şemasını izleyin. Satır içi ortamlar name için desteklenmediğinden ve version özelliklerini hariç tutun. |
||
distribution |
object | Dağıtılmış eğitim senaryoları için dağıtım yapılandırması. MpiConfiguration, PyTorchConfiguration veya TensorFlowConfiguration'lardan biri. | ||
resources.instance_count |
tamsayı | İş için kullanılacak düğüm sayısı. | 1 |
|
inputs |
object | Bileşen girişlerinin sözlüğü. Anahtar, bileşen bağlamında girişin adı ve değer de bileşen giriş tanımıdır. ifadesini command kullanarak ${{ inputs.<input_name> }} girişlere başvurulabilir. |
||
inputs.<input_name> |
object | Bileşen giriş tanımı. Yapılandırılabilir özellikler kümesi için bkz . Bileşen girişi . | ||
outputs |
object | Bileşen çıkışlarının sözlüğü. Anahtar, bileşenin bağlamındaki çıkışın adı ve değer de bileşen çıkış tanımıdır. İfade kullanılarak çıkışlara başvurulabilir command ${{ outputs.<output_name> }} . |
||
outputs.<output_name> |
object | Bileşen çıkış tanımı. Yapılandırılabilir özellikler kümesi için bkz . Bileşen çıkışı . |
Dağıtım yapılandırmaları
MpiConfiguration
Anahtar | Tür | Açıklama | İzin verilen değerler |
---|---|---|---|
type |
const | Gereklidir. Dağıtım türü. | mpi |
process_count_per_instance |
tamsayı | Gereklidir. İş için başlatacak düğüm başına işlem sayısı. |
PyTorchConfiguration
Anahtar | Tür | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
type |
const | Gereklidir. Dağıtım türü. | pytorch |
|
process_count_per_instance |
tamsayı | İş için başlatacak düğüm başına işlem sayısı. | 1 |
TensorFlowConfiguration
Anahtar | Tür | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
type |
const | Gereklidir. Dağıtım türü. | tensorflow |
|
worker_count |
tamsayı | İş için başlatacak çalışan sayısı. | varsayılan olarak resources.instance_count ayarlanır. |
|
parameter_server_count |
tamsayı | İş için başlatacak parametre sunucularının sayısı. | 0 |
Bileşen girişi
Anahtar | Tür | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
type |
string | Gereklidir. Bileşen girişinin türü. Veri erişimi hakkında daha fazla bilgi edinin | number , integer , boolean , string , uri_file , uri_folder , mltable , mlflow_model |
|
description |
string | Girişin açıklaması. | ||
default |
sayı, tamsayı, boole veya dize | Giriş için varsayılan değer. | ||
optional |
boolean | Girişin gerekli olup olmadığı. olarak ayarlanırsa true ile isteğe bağlı girişler içeren komutunu kullanmanız gerekir $[[]] |
false |
|
min |
tamsayı veya sayı | Giriş için kabul edilen en düşük değer. Bu alan yalnızca veya integer ise type number belirtilebilir. |
||
max |
tamsayı veya sayı | Giriş için kabul edilen maksimum değer. Bu alan yalnızca veya integer ise type number belirtilebilir. |
||
enum |
array | Giriş için izin verilen değerlerin listesi. Yalnızca alan ise type string geçerlidir. |
Bileşen çıkışı
Anahtar | Tür | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
type |
string | Gereklidir. Bileşen çıkışının türü. | uri_file , uri_folder , mltable , mlflow_model |
|
description |
string | Çıkışın açıklaması. |
Açıklamalar
Komutlar az ml component
Azure Machine Learning bileşenlerini yönetmek için kullanılabilir.
Örnekler
Komut bileşeni örnekleri, örnek GitHub deposunda bulunabilir. için seçme örnekleri aşağıda gösterilmiştir.
Örnekler GitHub deposunda bulunabilir. Aşağıda birkaçı gösterilmiştir.
YAML: Merhaba dünya komut bileşeni
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command
name: hello_python_world
display_name: Hello_Python_World
version: 1
code: ./src
environment:
image: python
command: >-
python hello.py
YAML: Farklı giriş türlerine sahip bileşen
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_data_component_cli
display_name: train_data
description: A example train component
tags:
author: azureml-sdk-team
version: 9
type: command
inputs:
training_data:
type: uri_folder
max_epocs:
type: integer
optional: true
learning_rate:
type: number
default: 0.01
optional: true
learning_rate_schedule:
type: string
default: time-based
optional: true
outputs:
model_output:
type: uri_folder
code: ./train_src
environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
command: >-
python train.py
--training_data ${{inputs.training_data}}
$[[--max_epocs ${{inputs.max_epocs}}]]
$[[--learning_rate ${{inputs.learning_rate}}]]
$[[--learning_rate_schedule ${{inputs.learning_rate_schedule}}]]
--model_output ${{outputs.model_output}}
Komut satırında isteğe bağlı girişleri tanımlama
Giriş olarak optional = true
ayarlandığında, komut satırını girişlerle kucaklamak için kullanmanız $[[]]
gerekir. Örneğin, $[[--input1 ${{inputs.input1}}]
. Çalışma zamanındaki komut satırında farklı girişler olabilir.
- Yalnızca gerekli
training_data
vemodel_output
parametreleri belirtiyorsanız komut satırı şöyle görünür:
python train.py --training_data some_input_path --learning_rate 0.01 --learning_rate_schedule time-based --model_output some_output_path
Çalışma zamanında learning_rate
hiçbir değer belirtilmezse ve learning_rate_schedule
varsayılan değeri kullanır.
- Tüm girişler/çıkışlar çalışma zamanı sırasında değer sağlarsa komut satırı şöyle görünür:
python train.py --training_data some_input_path --max_epocs 10 --learning_rate 0.01 --learning_rate_schedule time-based --model_output some_output_path
Yaygın hatalar ve öneriler
Aşağıda bazı yaygın hatalar ve bir bileşen tanımlarken önerilen öneriler yer alır.
Anahtar | Hatalar | Öneri |
---|---|---|
command | 1. Yalnızca isteğe bağlı girişler $[[]] 2. \ Komutta yeni satır oluşturmak için kullanılması desteklenmez.3. Girişler veya çıkışlar bulunamadı. |
1. komutunda kullanılan tüm girişlerin veya çıkışların ve outputs bölümlerinde zaten tanımlandığını inputs denetleyin ve isteğe bağlı girişler veya gerekli olanlar $[[]] ${{}} için doğru biçimi kullanın.2. Yeni bir satır oluşturmak için kullanmayın \ . |
ortam | 1. Ortam {envName} sürümü {envVersion} için tanım yok. 2. Adı {envName} , sürümü {envVersion} için ortam yok.3. Kimliği {envAssetId} olan varlık bulunamadı. |
1. Bileşen tanımında başvurabileceğiniz ortam adının ve sürümünün mevcut olduğundan emin olun. 2. Kayıtlı bir ortama başvuruda bulunursanız sürümü belirtmeniz gerekir. |
girişler/çıkışlar | 1. Giriş/çıkış adları sistem ayrılmış parametreleriyle çakışıyor. 2. Girişlerin veya çıkışların yinelenen adları. |
1. Bu ayrılmış parametrelerin hiçbirini giriş/çıkış adı olarak kullanmayın: , , , , , home , pwd . shell logname user ld_library_path path 2. Giriş ve çıkış adlarının yinelenmediğinden emin olun. |