PARANCSSORI (v2) parancsfeladat YAML-sémája
A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v2 (aktuális)
A forrás JSON-séma a következő helyen található: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json.
Megjegyzés
Az ebben 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 találja: https://azuremlschemasprod.azureedge.net/.
YAML-szintaxis
Kulcs | Típus | Description | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
$schema |
sztring | 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 erőforrás-kiegészítések meghívását. |
||
type |
Const | A feladat típusa. | command |
command |
name |
sztring | A feladat neve. A munkaterület összes feladatának egyedinek kell lennie. Ha nincs megadva, az Azure Machine Learning automatikusan létrehoz egy GUID azonosítót a névhez. | ||
display_name |
sztring | A feladat megjelenítendő neve a studio felhasználói felületén. A munkaterületen belül nem egyedi lehet. Ha nem adja meg, az Azure Machine Learning automatikusan létrehozza a megjelenítendő névhez tartozó, olvasható melléknev-főnév azonosítót. | ||
experiment_name |
sztring | Kísérlet neve a feladat rendszerezéséhez. Minden feladat futtatási rekordja a megfelelő kísérlet alatt lesz rendszerezve a stúdió "Kísérletek" lapján. Ha nincs megadva, az Azure Machine Learning alapértelmezés szerint annak a munkakönyvtárnak a nevére adja meg, amelyben a feladat létre lett hozva. | ||
description |
sztring | A feladat leírása. | ||
tags |
object | A feladat címkéinek szótára. | ||
command |
sztring | Kötelező (ha nem használ component mezőt). A végrehajtandó parancs. |
||
code |
sztring | A feladathoz feltöltendő és használt forráskódkönyvtár helyi elérési útja. | ||
environment |
sztring vagy objektum | Kötelező (ha nem használ component mezőt). A feladathoz használni kívánt környezet. Ez lehet a munkaterület egy meglévő verziójú környezetére való hivatkozás, vagy egy beágyazott környezeti specifikáció. Meglévő környezetre való hivatkozáshoz használja a azureml:<environment_name>:<environment_version> szintaxist vagy azureml:<environment_name>@latest (a környezet legújabb verziójára való hivatkozáshoz). A környezet beágyazott definiálásához kövesse a Környezeti sémát. Zárja ki a és version a name tulajdonságot, mert beágyazott környezetekben nem támogatottak. |
||
environment_variables |
object | A környezeti változó kulcs-érték párjainak szótára a parancs végrehajtásának folyamatához. | ||
distribution |
object | Az elosztott betanítási forgatókönyvek disztribúciós konfigurációja. Az mpiConfiguration, a PyTorchConfiguration vagy a TensorFlowConfiguration egyikét. | ||
compute |
sztring | Annak a számítási célnak a neve, amelyen a feladatot végre szeretné hajtani. Ez lehet egy hivatkozás a munkaterület egy meglévő számítására (a azureml:<compute_name> szintaxis használatával), vagy local a helyi végrehajtás kijelölésére. Megjegyzés: a folyamatban lévő feladatok nem támogatták local a következőt: compute |
local |
|
resources.instance_count |
egész szám | A feladathoz használandó csomópontok száma. | 1 |
|
resources.instance_type |
sztring | A feladathoz használandó példánytípus. Az Azure Arc-kompatibilis Kubernetes-számításon futó feladatokra vonatkozik (ahol a compute mezőben megadott számítási cél a type: kubernentes következő: ). Ha nincs megadva, ez alapértelmezés szerint a Kubernetes-fürt alapértelmezett példánytípusa lesz. További információ: Kubernetes-példánytípusok létrehozása és kiválasztása. |
||
resources.shm_size |
sztring | A Docker-tároló megosztott memóriablokkjának mérete. Ennek olyan formátumban <number><unit> kell lennie, ahol a számnak 0-nál nagyobbnak kell lennie, és az egység lehet az egyik b (bájt), (kilobájt), k m (megabájt) vagy g (gigabájt). |
2g |
|
limits.timeout |
egész szám | A feladat futásának maximális időtartama másodpercben. A korlát elérése után a rendszer megszakítja a feladatot. | ||
inputs |
object | A feladat bemeneteinek szótára. A kulcs a bemenet neve a feladat környezetében, az érték pedig a bemeneti érték. A bemenetekre a command kifejezés használatával ${{ inputs.<input_name> }} hivatkozhat. |
||
inputs.<input_name> |
szám, egész szám, logikai érték, sztring vagy objektum | Egy literális érték (szám, egész szám, logikai vagy sztring típusú) vagy egy feladatbemeneti adatspecifikációt tartalmazó objektum. | ||
outputs |
object | A feladat kimeneti konfigurációinak szótára. A kulcs a kimenet neve a feladat környezetében, az érték pedig a kimeneti konfiguráció. A kimenetekre a kifejezés használatával ${{ outputs.<output_name> }} hivatkozhatcommand . |
||
outputs.<output_name> |
object | Az objektumot üresen hagyhatja, ebben az esetben a kimenet alapértelmezés szerint típusú uri_folder lesz, és az Azure Machine Learning rendszer által generál egy kimeneti helyet a kimenethez. A kimeneti könyvtárba írt fájl(ok) írásvédett csatlakoztatással lesznek megírva. Ha más módot szeretne megadni a kimenethez, adjon meg egy objektumot, amely tartalmazza a feladat kimeneti specifikációját. |
||
identity |
object | Az identitás az adatok elérésére szolgál. Ez lehet UserIdentityConfiguration, ManagedIdentityConfiguration vagy None. UserIdentityConfiguration esetén a rendszer a feladat-küldő identitását használja a bemeneti adatok eléréséhez és az eredmények kimeneti mappába való írásához, ellenkező esetben a számítási cél felügyelt identitását fogja használni. |
Terjesztési konfigurációk
MpiConfiguration
Kulcs | Típus | Description | Megengedett értékek |
---|---|---|---|
type |
Const | Kötelező. Elosztás típusa. | mpi |
process_count_per_instance |
egész szám | Kötelező. A feladathoz elindítandó csomópontonkénti folyamatok száma. |
PyTorchConfiguration
Kulcs | Típus | Description | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
Const | Kötelező. 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 | Description | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
Const | Kötelező. Terjesztési típus. | tensorflow |
|
worker_count |
egész szám | A feladathoz elindítandó feldolgozók száma. | Alapértelmezés szerint a értékre van kapcsolva resources.instance_count . |
|
parameter_server_count |
egész szám | A feladathoz elindítandó paraméterkiszolgálók száma. | 0 |
Feladatbemenetek
Kulcs | Típus | Description | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
sztring | A feladat bemenetének típusa. Adja meg uri_file azokat a bemeneti adatokat, amelyek egyetlen fájlforrásra mutatnak, vagy uri_folder olyan bemeneti adatokat, amelyek egy mappaforrásra mutatnak. |
uri_file , uri_folder , mlflow_model , custom_model |
uri_folder |
path |
sztring | A bemenetként használni kívánt adatok elérési útja. Ez többféleképpen is megadható: – Az adatforrásfájl vagy -mappa helyi elérési útja, például. path: ./iris.csv Az adatok feltöltése a feladat elküldése során fog befejeződni. – Egy felhőbeli elérési út URI-ja a bemenetként használni kívánt fájlhoz vagy mappához. A támogatott URI-típusok a következők azureml : , https , wasbs , abfss , . adl Az URI-formátum használatáról további információt a Core yaml szintaxisábanazureml:// talál. – Egy meglévő regisztrált Azure Machine Learning-adategység, amelyet bemenetként használhat. Regisztrált adategységre való hivatkozáshoz használja a azureml:<data_name>:<data_version> szintaxist vagy azureml:<data_name>@latest (az adategység legújabb verziójára való hivatkozáshoz), például vagy path: azureml:cifar10-data@latest . path: azureml:cifar10-data:1 |
||
mode |
sztring | Az adatok számítási célba való kézbesítésének módja. Írásvédett csatlakoztatás ( ro_mount ) esetén az adatok csatlakoztatási útvonalként lesznek felhasználva. A mappa mappaként lesz csatlakoztatva, a fájl pedig fájlként lesz csatlakoztatva. Az Azure Machine Learning feloldja a csatlakoztatási útvonal bemenetét. A módhoz download az adatok a számítási célhoz lesznek letöltve. Az Azure Machine Learning feloldja a letöltött útvonal bemenetét. Ha az adatok csatlakoztatása vagy letöltése helyett csak az adatösszetevő(k) tárolási helyének URL-címét szeretné használni, használhatja a direct módot. Ez a feladat bemeneteként adja meg a tárolási hely URL-címét. Vegye figyelembe, hogy ebben az esetben teljes mértékben Ön a felelős a tárhoz való hozzáféréshez szükséges hitelesítő adatok kezeléséért. A eval_mount és eval_download a mód egyedi az MLTable esetében, és vagy elérési útként csatlakoztatja az adatokat, vagy letölti az adatokat a számítási célhoz. További információ a módokról: Access data in a job |
ro_mount , download , direct , eval_download , eval_mount |
ro_mount |
Feladatkimenetek
Kulcs | Típus | Description | Megengedett értékek | Alapértelmezett érték |
---|---|---|---|---|
type |
sztring | A feladat kimenetének típusa. Az alapértelmezett uri_folder típus esetében a kimenet egy mappának felel meg. |
uri_folder , mlflow_model , custom_model |
uri_folder |
mode |
sztring | A kimeneti fájlok céltárolóba való kézbesítésének módja. Olvasási-írási csatlakoztatási mód (rw_mount ) esetén a kimeneti könyvtár csatlakoztatott könyvtár lesz. Feltöltési mód esetén az írt fájl(ok) a feladat végén lesznek feltöltve. |
rw_mount , upload |
rw_mount |
Identitáskonfigurációk
UserIdentityConfiguration
Kulcs | Típus | Description | Megengedett értékek |
---|---|---|---|
type |
Const | Kötelező. Identitástípus. | user_identity |
ManagedIdentityConfiguration
Kulcs | Típus | Description | Megengedett értékek |
---|---|---|---|
type |
Const | Kötelező. Identitástípus. | managed vagy managed_identity |
Megjegyzések
A az ml job
parancs az Azure Machine Learning-feladatok kezelésére használható.
Példák
A példák a GitHub-adattárban érhetők el. Az alábbiakban több is látható.
YAML: hello world
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment:
image: library/python:latest
YAML: megjelenítendő név, kísérlet neve, leírás és címkék
$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: környezeti változók
$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: forráskód
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: ls
code: src
environment:
image: library/python:latest
YAML: literális bemenetek
$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: írás alapértelmezett kimenetekre
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world" > ./outputs/helloworld.txt
environment:
image: library/python:latest
YAML: írás nevesített adatkimenetbe
$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: adattár URI-fájlbemenete
$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.0/labels/latest
YAML: adattár URI-mappa bemenete
$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.0/labels/latest
YAML: URI-fájl bemenete
$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.0/labels/latest
YAML: URI-mappa bemenete
$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.0/labels/latest
YAML: Jegyzetfüzet papírmalomon keresztül
$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: alapszintű Python-modell betanítása
$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.0/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: alapszintű R-modell betanítása helyi Docker-buildkörnyezettel
$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: elosztott 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-pytorch-1.9-ubuntu18.04-py37-cuda11-gpu@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: elosztott 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.4-ubuntu18.04-py37-cuda11-gpu@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.
YAML: elosztott MPI
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python train.py
--epochs ${{inputs.epochs}}
inputs:
epochs: 1
environment: azureml:AzureML-tensorflow-2.7-ubuntu20.04-py38-cuda11-gpu@latest
compute: azureml:gpu-cluster
resources:
instance_count: 2
distribution:
type: mpi
process_count_per_instance: 1
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.