Megosztás a következőn keresztül:


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, stringuri_file, uri_folder, mltablemlflow_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 integera 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 integera 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, mltablemlflow_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 = truevan á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 és model_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, pwdhomeshell.
2. Győződjön meg arról, hogy a bemenetek és kimenetek neve nem duplikálva van.

Következő lépések