CLI (v2) parancsösszetevő YAML-sémája
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)
A forrás JSON-séma a következő helyen https://azuremlschemas.azureedge.net/latest/commandComponent.schema.jsontalálható: .
Feljegyzés
A dokumentumban részletezett YAML-szintaxis az ML CLI v2 bővítmény legújabb verziójának JSON-sémáján alapul. Ez a szintaxis garantáltan csak az ML CLI v2 bővítmény legújabb verziójával működik. A régebbi bővítményverziók sémáit a következő helyen https://azuremlschemasprod.azureedge.net/találja: .
YAML-szintaxis
Kulcs | Típus | Leírás | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
$schema |
húr | A YAML-séma. Ha az Azure Machine Learning VS Code-bővítményt használja a YAML-fájl létrehozásához, a fájl tetején is $schema lehetővé teszi a séma és az erőforrás-kiegészítések meghívását. |
||
type |
Const | Az összetevő típusa. | command |
command |
name |
húr | Szükséges. Az összetevő neve. Kisbetűvel kell kezdődnie. Az engedélyezett karakterek kisbetűk, számok és aláhúzásjelek (_). A maximális hossz 255 karakter. | ||
version |
húr | Az összetevő verziója. Ha nincs megadva, az Azure Machine Learning automatikusan létrehozza a verziót. | ||
display_name |
húr | Az összetevő megjelenítendő neve a studio felhasználói felületén. Nem egyedi lehet a munkaterületen belül. | ||
description |
húr | Az összetevő leírása. | ||
tags |
object | Az összetevő címkéinek szótára. | ||
is_deterministic |
Logikai | Ez a beállítás határozza meg, hogy az összetevő ugyanazt a kimenetet hozza-e létre ugyanazon bemeneti adatokhoz. Ezt általában olyan false összetevőkre érdemes beállítani, amelyek külső forrásokból töltik be az adatokat, például adatokat importálnak EGY URL-címről. Ennek az az oka, hogy az URL-cím adatai idővel változhatnak. |
true |
|
command |
húr | Szükséges. A végrehajtandó parancs. | ||
code |
húr | A feltöltendő és az összetevőhöz használt forráskódkönyvtár helyi elérési útja. | ||
environment |
sztring vagy objektum | Szükséges. Az összetevőhöz használandó környezet. Ez az érték hivatkozhat a munkaterület meglévő verziójú környezetére, vagy egy beágyazott környezeti specifikációra. Meglévő egyéni környezetre való hivatkozáshoz használja a szintaxist azureml:<environment-name>:<environment-version> . Válogatott környezetre való hivatkozáshoz használja a szintaxist azureml://registries/azureml/environment/<curated-environment-name>/versions/<version-number> . A környezetekre való hivatkozással kapcsolatos további információkért lásd : Környezetek kezelése A környezet beágyazott definiálásához kövesse a Környezeti sémát. Zárja ki a name tulajdonságokat, version mert beágyazott környezetekben nem támogatottak. |
||
distribution |
object | Az elosztott betanítási forgatókönyvek terjesztési konfigurációja. Az MpiConfiguration, a PyTorchConfiguration vagy a TensorFlowConfiguration egyike. | ||
resources.instance_count |
egész szám | A feladathoz használandó csomópontok száma. | 1 |
|
inputs |
object | Az összetevők bemeneteinek szótára. A kulcs az összetevő környezetében lévő bemenet neve, az érték pedig az összetevő bemeneti definíciója. A bemenetekre a command kifejezés használatával ${{ inputs.<input_name> }} lehet hivatkozni. |
||
inputs.<input_name> |
object | Az összetevő bemeneti definíciója. Tekintse meg a konfigurálható tulajdonságok készletének összetevőbemenetét . | ||
outputs |
object | Az összetevők kimeneteinek szótára. A kulcs az összetevő környezetében lévő kimenet neve, az érték pedig az összetevő kimeneti definíciója. A kimenetekre a command kifejezés használatával ${{ outputs.<output_name> }} hivatkozhat. |
||
outputs.<output_name> |
object | Az összetevő kimeneti definíciója. Tekintse meg a konfigurálható tulajdonságok készletének összetevőkimenetét . |
Terjesztési konfigurációk
MpiConfiguration
Kulcs | Típus | Leírás | Megengedett értékek |
---|---|---|---|
type |
Const | Szükséges. Terjesztési típus. | mpi |
process_count_per_instance |
egész szám | Szükséges. A feladathoz elindítandó csomópontonkénti folyamatok száma. |
PyTorchConfiguration
Kulcs | Típus | Leírás | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
Const | Szükséges. Terjesztési típus. | pytorch |
|
process_count_per_instance |
egész szám | A feladathoz elindítandó csomópontonkénti folyamatok száma. | 1 |
TensorFlowConfiguration
Kulcs | Típus | Leírás | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
Const | Szükséges. Terjesztési típus. | tensorflow |
|
worker_count |
egész szám | A feladathoz elindítandó dolgozók száma. | Alapértelmezett érték: resources.instance_count . |
|
parameter_server_count |
egész szám | A feladathoz elindítandó paraméterkiszolgálók száma. | 0 |
Összetevő bemenete
Kulcs | Típus | Leírás | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
húr | Szükséges. Az összetevő bemenetének típusa. További információ az adathozzáférésről | number , integer , boolean , string uri_file , uri_folder , mltable mlflow_model |
|
description |
húr | A bemenet leírása. | ||
default |
szám, egész szám, logikai vagy sztring | A bemenet alapértelmezett értéke. | ||
optional |
Logikai | Szükség van-e a bemenetre. Ha be van true állítva, akkor a parancsot kell használnia, beleértve az opcionális bemeneteket a következővel: $[[]] |
false |
|
min |
egész szám vagy szám | A bemenet minimálisan elfogadott értéke. Ez a mező csak akkor adható meg, ha type a mező vagy integer a number . |
||
max |
egész szám vagy szám | A bemenet maximálisan elfogadott értéke. Ez a mező csak akkor adható meg, ha type a mező vagy integer a number . |
||
enum |
array | A bemenet engedélyezett értékeinek listája. Csak akkor alkalmazható, ha type a mező .string |
Összetevő kimenete
Kulcs | Típus | Leírás | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
húr | Szükséges. Az összetevő kimenetének típusa. | uri_file , uri_folder , mltable mlflow_model |
|
description |
húr | A kimenet leírása. |
Megjegyzések
A az ml component
parancsok az Azure Machine Learning-összetevők kezelésére használhatók.
Példák
A parancsösszetevők példái a GitHub-adattárban érhetők el. Példákat az alábbiakban talál.
A példák a GitHub-adattárban érhetők el. Az alábbiakban több is látható.
YAML: Hello world command component
$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: Összetevő különböző bemeneti típusokkal
$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
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.5/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}}
Opcionális bemenetek definiálása a parancssorban
Ha a bemenet be optional = true
van állítva, a parancssort bemenetekkel kell $[[]]
használnia. Például: $[[--input1 ${{inputs.input1}}]
. A futtatókörnyezeti parancssor különböző bemenetekkel rendelkezhet.
- Ha csak a szükséges
training_data
ésmodel_output
a paramétereket használja, a parancssor a következőképpen fog kinézni:
python train.py --training_data some_input_path --learning_rate 0.01 --learning_rate_schedule time-based --model_output some_output_path
Ha futásidőben nincs megadva érték, learning_rate
és learning_rate_schedule
az alapértelmezett értéket fogja használni.
- Ha minden bemenet/kimenet értéket ad meg futásidőben, a parancssor a következőképpen fog kinézni:
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
Gyakori hibák és javaslatok
Az alábbiakban néhány gyakori hibát és a megfelelő javasolt javaslatokat ismertetjük egy összetevő definiálásakor.
Kulcs | Errors | Ajánlás |
---|---|---|
command | 1. Csak opcionális bemenetek lehetnek a $[[]] 2. Az \ új sor létrehozása parancs nem támogatott.3. A bemenetek és kimenetek nem találhatók. |
1. Ellenőrizze, hogy a parancsban használt összes bemenet vagy kimenet már definiálva van-e a inputs szakaszokban, outputs és a megfelelő formátumot használja az opcionális vagy kötelező ${{}} bemenetekhez$[[]] .2. Ne használjon \ új sort. |
környezet | 1. A környezeti {envName} verzióhoz {envVersion} nem létezik definíció. 2. Nincs környezet a névhez {envName} , verzióhoz {envVersion} .3. Nem található azonosítójú {envAssetId} objektum. |
1. Győződjön meg arról, hogy az összetevő definíciójában szereplő környezet neve és verziója létezik. 2. Ha regisztrált környezetre hivatkozik, meg kell adnia a verziót. |
bemenetek/kimenetek | 1. A bemenetek/kimenetek neve ütközik a rendszer által fenntartott paraméterekkel. 2. A bemenetek vagy kimenetek duplikált neve. |
1. Ne használja a fenntartott paraméterek egyikét sem a bemenetek/kimenetek neveként: path , , ld_library_path , user , logname , pwd home shell .2. Győződjön meg arról, hogy a bemenetek és kimenetek neve nem duplikálva van. |