Schéma YAML úlohy kanálu CLI (v1)
PLATÍ PRO: Rozšíření Azure CLI ml v1
Poznámka:
Syntaxe YAML podrobná v tomto dokumentu je založená na schématu JSON pro verzi v1 rozšíření ML CLI. Tato syntaxe je zaručena pouze pro práci s rozšířením ML CLI v1. Přepněte na verzi 2 (aktuální verze) pro syntaxi rozhraní příkazového řádku ML v2.
Důležité
Některé příkazy Azure CLI v tomto článku používají azure-cli-ml
rozšíření (nebo v1) pro Azure Machine Learning. Podpora rozšíření v1 skončí 30. září 2025. Do tohoto data budete moct nainstalovat a používat rozšíření v1.
Doporučujeme přejít na ml
rozšíření (nebo v2) před 30. zářím 2025. Další informace o rozšíření v2 najdete v tématu Rozšíření Azure ML CLI a Python SDK v2.
Definujte kanály strojového učení v YAML. Při použití rozšíření strojového učení pro Azure CLI v1., mnoho příkazů souvisejících s kanálem očekává soubor YAML, který definuje kanál.
Následující tabulka uvádí, co je a není aktuálně podporováno při definování kanálu v YAML pro použití s rozhraním příkazového řádku v1:
Typ kroku | Podporováno? |
---|---|
PythonScriptStep | Ano |
ParallelRunStep | Ano |
AdlaStep | Ano |
AzureBatchStep | Ano |
DatabricksStep | Ano |
DataTransferStep | Ano |
AutoMLStep | No |
HyperDriveStep | No |
ModuleStep | Ano |
MPIStep | No |
EstimatorStep | No |
Definice kanálu
Definice kanálu používá následující klíče, které odpovídají třídě Pipelines :
Klíč YAML | Popis |
---|---|
name |
Popis kanálu. |
parameters |
Parametry kanálu. |
data_reference |
Definuje, jak a kde mají být data zpřístupněna při spuštění. |
default_compute |
Výchozí cílový výpočetní objekt, ve kterém se spouští všechny kroky v kanálu. |
steps |
Kroky použité v kanálu. |
Parametry
Oddíl parameters
používá následující klíče, které odpovídají třídě PipelineParameter :
Klíč YAML | Popis |
---|---|
type |
Typ hodnoty parametru. Platné typy jsou string , , float int , bool , nebo datapath . |
default |
Výchozí hodnota |
Každý parametr má název. Například následující fragment kódu YAML definuje tři parametry s názvem NumIterationsParameter
, DataPathParameter
a NodeCountParameter
:
pipeline:
name: SamplePipelineFromYaml
parameters:
NumIterationsParameter:
type: int
default: 40
DataPathParameter:
type: datapath
default:
datastore: workspaceblobstore
path_on_datastore: sample2.txt
NodeCountParameter:
type: int
default: 4
Reference pro data
Oddíl data_references
používá následující klíče, které odpovídají dataReference:
Klíč YAML | Popis |
---|---|
datastore |
Úložiště dat, na které chcete odkazovat. |
path_on_datastore |
Relativní cesta v záložním úložišti pro odkaz na data. |
Každý odkaz na data je obsažen v klíči. Například následující fragment kódu YAML definuje odkaz na data uložená v klíči s názvem employee_data
:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
employee_data:
datastore: adftestadla
path_on_datastore: "adla_sample/sample_input.csv"
Kroky
Kroky definují výpočetní prostředí spolu se soubory, které se mají spustit v prostředí. K definování typu kroku použijte type
klíč:
Typ kroku | Popis |
---|---|
AdlaStep |
Spustí skript U-SQL se službou Azure Data Lake Analytics. Odpovídá třídě AdlaStep. |
AzureBatchStep |
Spouští úlohy pomocí služby Azure Batch. Odpovídá třídě AzureBatchStep. |
DatabricsStep |
Přidá poznámkový blok Databricks, skript Pythonu nebo SOUBOR JAR. Odpovídá třídě DatabricksStep. |
DataTransferStep |
Přenáší data mezi možnostmi úložiště. Odpovídá Třídy DataTransferStep. |
PythonScriptStep |
Spustí skript Pythonu. Odpovídá třídě PythonScriptStep. |
ParallelRunStep |
Spustí skript Pythonu, který zpracovává velké objemy dat asynchronně a paralelně. Odpovídá ParallelRunStep třídy. |
Krok ADLA
Klíč YAML | Popis |
---|---|
script_name |
Název skriptu U-SQL (vzhledem k source_directory ). |
compute |
Cílový výpočetní objekt Azure Data Lake, který se má použít pro tento krok. |
parameters |
Parametry kanálu. |
inputs |
Vstupy můžou být InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition nebo PipelineDataset. |
outputs |
Výstupy můžou být PipelineData nebo OutputPortBinding. |
source_directory |
Adresář, který obsahuje skript, sestavení atd. |
priority |
Hodnota priority, kterou chcete použít pro aktuální úlohu. |
params |
Slovník párů name-value |
degree_of_parallelism |
Stupeň paralelismu, který se má pro tuto úlohu použít. |
runtime_version |
Verze modulu runtime modulu Data Lake Analytics. |
allow_reuse |
Určuje, zda má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. |
Následující příklad obsahuje definici kroku ADLA:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
employee_data:
datastore: adftestadla
path_on_datastore: "adla_sample/sample_input.csv"
default_compute: adlacomp
steps:
Step1:
runconfig: "D:\\Yaml\\default_runconfig.yml"
parameters:
NUM_ITERATIONS_2:
source: PipelineParam1
NUM_ITERATIONS_1: 7
type: "AdlaStep"
name: "MyAdlaStep"
script_name: "sample_script.usql"
source_directory: "D:\\scripts\\Adla"
inputs:
employee_data:
source: employee_data
outputs:
OutputData:
destination: Output4
datastore: adftestadla
bind_mode: mount
Krok služby Azure Batch
Klíč YAML | Popis |
---|---|
compute |
Cílový výpočetní objekt Služby Azure Batch, který se má použít pro tento krok. |
inputs |
Vstupy můžou být InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition nebo PipelineDataset. |
outputs |
Výstupy můžou být PipelineData nebo OutputPortBinding. |
source_directory |
Adresář, který obsahuje binární soubory modulu, spustitelný soubor, sestavení atd. |
executable |
Název příkazu nebo spustitelného souboru, který bude spuštěn jako součást této úlohy. |
create_pool |
Logický příznak označující, jestli se má fond vytvořit před spuštěním úlohy. |
delete_batch_job_after_finish |
Logický příznak označující, jestli se má úloha po dokončení odstranit z účtu Batch. |
delete_batch_pool_after_finish |
Logický příznak označující, jestli se má fond po dokončení úlohy odstranit. |
is_positive_exit_code_failure |
Logický příznak označující, jestli úloha selže, pokud se úkol ukončí s pozitivním kódem. |
vm_image_urn |
Pokud create_pool je , True a virtuální počítač používá VirtualMachineConfiguration . |
pool_id |
ID fondu, ve kterém se úloha spustí. |
allow_reuse |
Určuje, zda má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. |
Následující příklad obsahuje definici kroku služby Azure Batch:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
input:
datastore: workspaceblobstore
path_on_datastore: "input.txt"
default_compute: testbatch
steps:
Step1:
runconfig: "D:\\Yaml\\default_runconfig.yml"
parameters:
NUM_ITERATIONS_2:
source: PipelineParam1
NUM_ITERATIONS_1: 7
type: "AzureBatchStep"
name: "MyAzureBatchStep"
pool_id: "MyPoolName"
create_pool: true
executable: "azurebatch.cmd"
source_directory: "D:\\scripts\\AureBatch"
allow_reuse: false
inputs:
input:
source: input
outputs:
output:
destination: output
datastore: workspaceblobstore
Krok Databricks
Klíč YAML | Popis |
---|---|
compute |
Cílový výpočetní objekt Azure Databricks, který se má použít pro tento krok. |
inputs |
Vstupy můžou být InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition nebo PipelineDataset. |
outputs |
Výstupy můžou být PipelineData nebo OutputPortBinding. |
run_name |
Název v Databricks pro toto spuštění |
source_directory |
Adresář, který obsahuje skript a další soubory. |
num_workers |
Statický počet pracovních procesů pro cluster spuštěný v Databricks. |
runconfig |
Cesta k .runconfig souboru. Tento soubor je reprezentace YAML třídy RunConfiguration . Další informace o struktuře tohoto souboru najdete v tématu runconfigschema.json. |
allow_reuse |
Určuje, zda má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. |
Následující příklad obsahuje krok Databricks:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
adls_test_data:
datastore: adftestadla
path_on_datastore: "testdata"
blob_test_data:
datastore: workspaceblobstore
path_on_datastore: "dbtest"
default_compute: mydatabricks
steps:
Step1:
runconfig: "D:\\Yaml\\default_runconfig.yml"
parameters:
NUM_ITERATIONS_2:
source: PipelineParam1
NUM_ITERATIONS_1: 7
type: "DatabricksStep"
name: "MyDatabrickStep"
run_name: "DatabricksRun"
python_script_name: "train-db-local.py"
source_directory: "D:\\scripts\\Databricks"
num_workers: 1
allow_reuse: true
inputs:
blob_test_data:
source: blob_test_data
outputs:
OutputData:
destination: Output4
datastore: workspaceblobstore
bind_mode: mount
Krok přenosu dat
Klíč YAML | Popis |
---|---|
compute |
Cílový výpočetní objekt služby Azure Data Factory, který se má použít pro tento krok. |
source_data_reference |
Vstupní připojení, které slouží jako zdroj operací přenosu dat. Podporované hodnoty jsou InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition nebo PipelineDataset. |
destination_data_reference |
Vstupní připojení, které slouží jako cíl operací přenosu dat. Podporované hodnoty jsou PipelineData a OutputPortBinding. |
allow_reuse |
Určuje, zda má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. |
Následující příklad obsahuje krok přenosu dat:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
adls_test_data:
datastore: adftestadla
path_on_datastore: "testdata"
blob_test_data:
datastore: workspaceblobstore
path_on_datastore: "testdata"
default_compute: adftest
steps:
Step1:
runconfig: "D:\\Yaml\\default_runconfig.yml"
parameters:
NUM_ITERATIONS_2:
source: PipelineParam1
NUM_ITERATIONS_1: 7
type: "DataTransferStep"
name: "MyDataTransferStep"
adla_compute_name: adftest
source_data_reference:
adls_test_data:
source: adls_test_data
destination_data_reference:
blob_test_data:
source: blob_test_data
Krok skriptu Pythonu
Klíč YAML | Popis |
---|---|
inputs |
Vstupy můžou být InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition nebo PipelineDataset. |
outputs |
Výstupy můžou být PipelineData nebo OutputPortBinding. |
script_name |
Název skriptu Pythonu (vzhledem k source_directory ). |
source_directory |
Adresář, který obsahuje skript, prostředí Conda atd. |
runconfig |
Cesta k .runconfig souboru. Tento soubor je reprezentace YAML třídy RunConfiguration . Další informace o struktuře tohoto souboru najdete v tématu runconfig.json. |
allow_reuse |
Určuje, zda má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. |
Následující příklad obsahuje krok skriptu Pythonu:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
DataReference1:
datastore: workspaceblobstore
path_on_datastore: testfolder/sample.txt
default_compute: cpu-cluster
steps:
Step1:
runconfig: "D:\\Yaml\\default_runconfig.yml"
parameters:
NUM_ITERATIONS_2:
source: PipelineParam1
NUM_ITERATIONS_1: 7
type: "PythonScriptStep"
name: "MyPythonScriptStep"
script_name: "train.py"
allow_reuse: True
source_directory: "D:\\scripts\\PythonScript"
inputs:
InputData:
source: DataReference1
outputs:
OutputData:
destination: Output4
datastore: workspaceblobstore
bind_mode: mount
Krok paralelního spuštění
Klíč YAML | Popis |
---|---|
inputs |
Vstupy můžou být Dataset, DatasetDefinition nebo PipelineDataset. |
outputs |
Výstupy můžou být PipelineData nebo OutputPortBinding. |
script_name |
Název skriptu Pythonu (vzhledem k source_directory ). |
source_directory |
Adresář, který obsahuje skript, prostředí Conda atd. |
parallel_run_config |
Cesta k parallel_run_config.yml souboru. Tento soubor je reprezentace YAML Třídy ParallelRunConfig . |
allow_reuse |
Určuje, zda má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. |
Následující příklad obsahuje krok paralelního spuštění:
pipeline:
description: SamplePipelineFromYaml
default_compute: cpu-cluster
data_references:
MyMinistInput:
dataset_name: mnist_sample_data
parameters:
PipelineParamTimeout:
type: int
default: 600
steps:
Step1:
parallel_run_config: "yaml/parallel_run_config.yml"
type: "ParallelRunStep"
name: "parallel-run-step-1"
allow_reuse: True
arguments:
- "--progress_update_timeout"
- parameter:timeout_parameter
- "--side_input"
- side_input:SideInputData
parameters:
timeout_parameter:
source: PipelineParamTimeout
inputs:
InputData:
source: MyMinistInput
side_inputs:
SideInputData:
source: Output4
bind_mode: mount
outputs:
OutputDataStep2:
destination: Output5
datastore: workspaceblobstore
bind_mode: mount
Kanál s několika kroky
Klíč YAML | Popis |
---|---|
steps |
Posloupnost jedné nebo více definic PipelineStep Všimněte si, že destination klíče jednoho kroku outputs se stanou klíči source k inputs dalšímu kroku. |
pipeline:
name: SamplePipelineFromYAML
description: Sample multistep YAML pipeline
data_references:
TitanicDS:
dataset_name: 'titanic_ds'
bind_mode: download
default_compute: cpu-cluster
steps:
Dataprep:
type: "PythonScriptStep"
name: "DataPrep Step"
compute: cpu-cluster
runconfig: ".\\default_runconfig.yml"
script_name: "prep.py"
arguments:
- '--train_path'
- output:train_path
- '--test_path'
- output:test_path
allow_reuse: True
inputs:
titanic_ds:
source: TitanicDS
bind_mode: download
outputs:
train_path:
destination: train_csv
datastore: workspaceblobstore
test_path:
destination: test_csv
Training:
type: "PythonScriptStep"
name: "Training Step"
compute: cpu-cluster
runconfig: ".\\default_runconfig.yml"
script_name: "train.py"
arguments:
- "--train_path"
- input:train_path
- "--test_path"
- input:test_path
inputs:
train_path:
source: train_csv
bind_mode: download
test_path:
source: test_csv
bind_mode: download
Plány
Při definování plánu kanálu se může aktivovat úložiště dat nebo se opakovat podle časového intervalu. K definování plánu se používají následující klíče:
Klíč YAML | Popis |
---|---|
description |
Popis plánu |
recurrence |
Obsahuje nastavení opakování, pokud je plán opakovaný. |
pipeline_parameters |
Všechny parametry, které kanál vyžaduje. |
wait_for_provisioning |
Zda se má počkat na dokončení zřizování plánu. |
wait_timeout |
Počet sekund čekání před uplynutím časového limitu. |
datastore_name |
Úložiště dat, které se má monitorovat pro upravené nebo přidané objekty blob. |
polling_interval |
Jak dlouho v minutách mezi dotazováním upravených nebo přidaných objektů blob Výchozí hodnota: 5 minut. Podporováno pouze pro plány úložiště dat. |
data_path_parameter_name |
Název parametru kanálu cesty k datům, který se má nastavit s změněnou cestou k objektu blob. Podporováno pouze pro plány úložiště dat. |
continue_on_step_failure |
Jestli chcete pokračovat v provádění dalších kroků v odeslané službě PipelineRun, pokud se krok nezdaří. V případě potřeby přepíše continue_on_step_failure nastavení kanálu. |
path_on_datastore |
Nepovinné. Cesta k úložišti dat, která se má monitorovat pro upravené nebo přidané objekty blob. Cesta je pod kontejnerem úložiště dat, takže skutečná cesta, kterou monitoruje plány, je kontejner/path_on_datastore . Pokud žádný není, kontejner úložiště dat se monitoruje. Doplňky nebo úpravy provedené v podsložce path_on_datastore nejsou monitorovány. Podporováno pouze pro plány úložiště dat. |
Následující příklad obsahuje definici plánu aktivovaného úložištěm dat:
Schedule:
description: "Test create with datastore"
recurrence: ~
pipeline_parameters: {}
wait_for_provisioning: True
wait_timeout: 3600
datastore_name: "workspaceblobstore"
polling_interval: 5
data_path_parameter_name: "input_data"
continue_on_step_failure: None
path_on_datastore: "file/path"
Při definování plánu opakování použijte následující klíče v části recurrence
:
Klíč YAML | Popis |
---|---|
frequency |
Jak často se plán opakuje. Platné hodnoty jsou "Minute" , , "Day" "Hour" , "Week" , nebo "Month" . |
interval |
Jak často se plán aktivuje. Celočíselná hodnota je počet časových jednotek, které se mají počkat, dokud se plán znovu neaktivuje. |
start_time |
Čas zahájení plánu. Formát řetězce hodnoty je YYYY-MM-DDThh:mm:ss . Pokud není k dispozici žádný čas spuštění, spustí se první úloha okamžitě a budoucí úlohy se spustí podle plánu. Pokud je čas spuštění v minulosti, první úloha se spustí při příštím počítaném čase běhu. |
time_zone |
Časové pásmo počátečního času. Pokud není zadané žádné časové pásmo, použije se UTC. |
hours |
Pokud frequency ano "Day" "Week" , můžete zadat jedno nebo více celých čísel od 0 do 23 oddělených čárkami jako hodiny dne, kdy se má kanál spustit. Pouze time_of_day nebo hours a minutes lze je použít. |
minutes |
Pokud frequency ano "Day" "Week" , můžete zadat jedno nebo více celých čísel od 0 do 59 oddělených čárkami v minutách hodiny, kdy se má kanál spustit. Pouze time_of_day nebo hours a minutes lze je použít. |
time_of_day |
Pokud frequency ano "Day" "Week" , můžete určit denní dobu, po kterou se má plán spustit. Formát řetězce hodnoty je hh:mm . Pouze time_of_day nebo hours a minutes lze je použít. |
week_days |
Pokud frequency ano "Week" , můžete zadat jeden nebo více dnů oddělených čárkami, kdy se má plán spustit. Platné hodnoty jsou "Monday" , , "Tuesday" , "Thursday" "Wednesday" "Friday" , , "Saturday" , a "Sunday" . |
Následující příklad obsahuje definici pro opakovaný plán:
Schedule:
description: "Test create with recurrence"
recurrence:
frequency: Week # Can be "Minute", "Hour", "Day", "Week", or "Month".
interval: 1 # how often fires
start_time: 2019-06-07T10:50:00
time_zone: UTC
hours:
- 1
minutes:
- 0
time_of_day: null
week_days:
- Friday
pipeline_parameters:
'a': 1
wait_for_provisioning: True
wait_timeout: 3600
datastore_name: ~
polling_interval: ~
data_path_parameter_name: ~
continue_on_step_failure: None
path_on_datastore: ~
Další kroky
Naučte se používat rozšíření rozhraní příkazového řádku pro Azure Machine Learning.