CLI (v1) folyamatfeladat YAML-sémája
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény 1-es verzió
Feljegyzés
A jelen dokumentumban részletezett YAML-szintaxis az ML CLI-bővítmény 1- es verziójának JSON-sémáján alapul. Ez a szintaxis garantáltan csak az ML CLI v1 kiterjesztéssel működik. Váltson a v2 -re (jelenlegi verzió) az ML CLI v2 szintaxisához.
Fontos
A cikkben szereplő Azure CLI-parancsok némelyike az azure-cli-ml
Azure Machine Learning bővítményét vagy v1-et használja. A v1-bővítmény támogatása 2025. szeptember 30-án megszűnik. Addig a dátumig telepítheti és használhatja a v1-bővítményt.
Javasoljuk, hogy 2025. szeptember 30-a előtt váltsa át a ml
(vagy v2) bővítményt. További információ a v2-es bővítményről: Azure ML CLI-bővítmény és Python SDK v2.
Határozza meg a gépi tanulási folyamatokat a YAML-ben. Az Azure CLI v1. gépi tanulási bővítményének használatakor a folyamattal kapcsolatos parancsok közül sok olyan YAML-fájlt vár, amely meghatározza a folyamatot.
Az alábbi táblázat azt sorolja fel, hogy mi az, és jelenleg nem támogatott egy folyamat definiálása a YAML-ben a CLI 1-es verzióval való használatához:
Lépés típusa | Támogatott? |
---|---|
PythonScriptStep | Igen |
ParallelRunStep | Igen |
AdlaStep | Igen |
AzureBatchStep | Igen |
DatabricksStep | Igen |
DataTransferStep | Igen |
AutoMLStep | Nem |
HyperDriveStep | Nem |
ModuleStep | Igen |
MPIStep | Nem |
BecslőStep | Nem |
Folyamatdefiníció
A folyamatdefiníciók a következő kulcsokat használják, amelyek megfelelnek a Pipelines osztálynak :
YAML-kulcs | Leírás |
---|---|
name |
A folyamat leírása. |
parameters |
Paraméter(ek) a folyamathoz. |
data_reference |
Meghatározza, hogy az adatok hogyan és hol legyenek elérhetők futás közben. |
default_compute |
Alapértelmezett számítási cél, ahol a folyamat összes lépése fut. |
steps |
A folyamat lépései. |
Paraméterek
A parameters
szakasz az alábbi kulcsokat használja, amelyek a PipelineParameter osztálynak felelnek meg:
YAML-kulcs | Leírás |
---|---|
type |
A paraméter értéktípusa. Az érvényes típusok a következőkstring : , int float , bool vagy datapath . |
default |
Az alapértelmezett érték. |
Minden paraméter neve el van nevezve. Az alábbi YAML-kódrészlet például három paramétert NumIterationsParameter
határoz meg: DataPathParameter
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
Adatreferencia
A data_references
szakasz a következő kulcsokat használja, amelyek megfelelnek a DataReference-nek:
YAML-kulcs | Leírás |
---|---|
datastore |
A hivatkozni kívánt adattár. |
path_on_datastore |
A háttértár relatív elérési útja az adathivatkozáshoz. |
Minden adathivatkozás egy kulcsban található. A következő YAML-kódrészlet például a következő employee_data
kulcsban tárolt adathivatkozást definiálja:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
employee_data:
datastore: adftestadla
path_on_datastore: "adla_sample/sample_input.csv"
Lépések
A lépések meghatározzák a számítási környezetet, valamint a környezetben futtatandó fájlokat. A lépés típusának meghatározásához használja a type
következő kulcsot:
Lépés típusa | Leírás |
---|---|
AdlaStep |
U-SQL-szkriptet futtat az Azure Data Lake Analytics használatával. Az AdlaStep osztálynak felel meg. |
AzureBatchStep |
Feladatokat futtat az Azure Batch használatával. Az AzureBatchStep osztálynak felel meg. |
DatabricsStep |
Hozzáad egy Databricks-jegyzetfüzetet, Python-szkriptet vagy JAR-t. A DatabricksStep osztálynak felel meg. |
DataTransferStep |
Adattovábbítás a tárolási lehetőségek között. A DataTransferStep osztálynak felel meg. |
PythonScriptStep |
Python-szkriptet futtat. A PythonScriptStep osztálynak felel meg. |
ParallelRunStep |
Python-szkriptet futtat nagy mennyiségű adat aszinkron és párhuzamos feldolgozásához. A ParallelRunStep osztálynak felel meg. |
ADLA-lépés
YAML-kulcs | Leírás |
---|---|
script_name |
Az U-SQL-szkript neve (a source_directory hozzá képest). |
compute |
A lépéshez használni kívánt Azure Data Lake számítási cél. |
parameters |
A folyamat paraméterei . |
inputs |
A bemenetek lehetnek InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition vagy PipelineDataset. |
outputs |
A kimenetek lehetnek PipelineData vagy OutputPortBinding. |
source_directory |
Könyvtár, amely tartalmazza a szkriptet, szerelvényeket stb. |
priority |
Az aktuális feladathoz használandó prioritási érték. |
params |
Név-érték párok szótára. |
degree_of_parallelism |
A feladathoz használandó párhuzamosság mértéke. |
runtime_version |
A Data Lake Analytics-motor futtatókörnyezeti verziója. |
allow_reuse |
Meghatározza, hogy a lépés újra felhasználja-e a korábbi eredményeket, ha ugyanazokkal a beállításokkal fut újra. |
Az alábbi példa egy ADLA-lépésdefiníciót tartalmaz:
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
Azure Batch-lépés
YAML-kulcs | Leírás |
---|---|
compute |
A lépéshez használni kívánt Azure Batch számítási cél. |
inputs |
A bemenetek lehetnek InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition vagy PipelineDataset. |
outputs |
A kimenetek lehetnek PipelineData vagy OutputPortBinding. |
source_directory |
A modul bináris fájljait, végrehajtható, szerelvényeket stb. tartalmazó könyvtár. |
executable |
A feladat részeként futtatandó parancs/végrehajtható parancs neve. |
create_pool |
Logikai jelző, amely jelzi, hogy létre kell-e hozni a készletet a feladat futtatása előtt. |
delete_batch_job_after_finish |
Logikai jelző, amely jelzi, hogy törli-e a feladatot a Batch-fiókból a befejezés után. |
delete_batch_pool_after_finish |
Logikai jelölő, amely jelzi, hogy törli-e a készletet a feladat befejezése után. |
is_positive_exit_code_failure |
Logikai jelző, amely jelzi, hogy a feladat meghiúsul-e, ha a tevékenység pozitív kóddal lép ki. |
vm_image_urn |
Ha create_pool igen True , és a virtuális gép használja VirtualMachineConfiguration . |
pool_id |
Annak a készletnek az azonosítója, ahol a feladat futni fog. |
allow_reuse |
Meghatározza, hogy a lépés újra felhasználja-e a korábbi eredményeket, ha ugyanazokkal a beállításokkal fut újra. |
Az alábbi példa egy Azure Batch-lépésdefiníciót tartalmaz:
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
Databricks-lépés
YAML-kulcs | Leírás |
---|---|
compute |
A lépéshez használni kívánt Azure Databricks számítási cél. |
inputs |
A bemenetek lehetnek InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition vagy PipelineDataset. |
outputs |
A kimenetek lehetnek PipelineData vagy OutputPortBinding. |
run_name |
A Databricksben a futtatás neve. |
source_directory |
A szkriptet és más fájlokat tartalmazó könyvtár. |
num_workers |
A Databricks-fürthöz tartozó feldolgozók statikus száma. |
runconfig |
A fájl elérési útja .runconfig . Ez a fájl a RunConfiguration osztály YAML-reprezentációja . A fájl szerkezetéről további információt a runconfigschema.json talál. |
allow_reuse |
Meghatározza, hogy a lépés újra felhasználja-e a korábbi eredményeket, ha ugyanazokkal a beállításokkal fut újra. |
Az alábbi példa egy Databricks-lépést tartalmaz:
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
Adatátviteli lépés
YAML-kulcs | Leírás |
---|---|
compute |
A lépéshez használni kívánt Azure Data Factory számítási cél. |
source_data_reference |
Az adatátviteli műveletek forrásaként szolgáló bemeneti kapcsolat. Támogatott értékek: InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition vagy PipelineDataset. |
destination_data_reference |
Bemeneti kapcsolat, amely az adatátviteli műveletek célhelyeként szolgál. A támogatott értékek a PipelineData és az OutputPortBinding. |
allow_reuse |
Meghatározza, hogy a lépés újra felhasználja-e a korábbi eredményeket, ha ugyanazokkal a beállításokkal fut újra. |
Az alábbi példa egy adatátviteli lépést tartalmaz:
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
Python-szkript lépése
YAML-kulcs | Leírás |
---|---|
inputs |
A bemenetek lehetnek InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition vagy PipelineDataset. |
outputs |
A kimenetek lehetnek PipelineData vagy OutputPortBinding. |
script_name |
A Python-szkript neve (a hozzá viszonyítva source_directory ). |
source_directory |
A szkriptet, a Conda-környezetet stb. tartalmazó könyvtár. |
runconfig |
A fájl elérési útja .runconfig . Ez a fájl a RunConfiguration osztály YAML-reprezentációja . A fájl szerkezetéről további információt a runconfig.json talál. |
allow_reuse |
Meghatározza, hogy a lépés újra felhasználja-e a korábbi eredményeket, ha ugyanazokkal a beállításokkal fut újra. |
A következő példa egy Python-szkriptlépést tartalmaz:
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
Párhuzamos futtatási lépés
YAML-kulcs | Leírás |
---|---|
inputs |
A bemenetek lehetnek adathalmazok, adathalmazdefiníciók vagy PipelineDataset. |
outputs |
A kimenetek lehetnek PipelineData vagy OutputPortBinding. |
script_name |
A Python-szkript neve (a hozzá viszonyítva source_directory ). |
source_directory |
A szkriptet, a Conda-környezetet stb. tartalmazó könyvtár. |
parallel_run_config |
A fájl elérési útja parallel_run_config.yml . Ez a fájl a ParallelRunConfig osztály YAML-reprezentációja . |
allow_reuse |
Meghatározza, hogy a lépés újra felhasználja-e a korábbi eredményeket, ha ugyanazokkal a beállításokkal fut újra. |
Az alábbi példa egy párhuzamos futtatási lépést tartalmaz:
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
Folyamat több lépéssel
YAML-kulcs | Leírás |
---|---|
steps |
Egy vagy több PipelineStep-definíció sorrendje. Vegye figyelembe, hogy az destination egyik lépés outputs kulcsai lesznek source a inputs következő lépés kulcsai. |
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
Ütemezések
A folyamat ütemezésének meghatározásakor az adattároló által aktivált vagy ismétlődő lehet egy időintervallum alapján. Az ütemezés meghatározásához a következő kulcsok használhatók:
YAML-kulcs | Leírás |
---|---|
description |
Az ütemezés leírása. |
recurrence |
Ismétlődési beállításokat tartalmaz, ha az ütemezés ismétlődő. |
pipeline_parameters |
A folyamat által igényelt paraméterek. |
wait_for_provisioning |
Várjon-e az ütemezés üzembe helyezésének befejezésére. |
wait_timeout |
Az időtúllépés előtt várakozni kívánt másodpercek száma. |
datastore_name |
A módosított/hozzáadott blobok figyelésére szolgáló adattár. |
polling_interval |
Mennyi ideig, percek alatt, a módosított/hozzáadott blobok lekérdezése között. Alapértelmezett érték: 5 perc. Csak az adattár-ütemezések esetében támogatott. |
data_path_parameter_name |
Annak az adatútvonal-folyamatparaméternek a neve, amely a módosított blobútvonallal van beállítva. Csak az adattár-ütemezések esetében támogatott. |
continue_on_step_failure |
Azt határozza meg, hogy folytatja-e az elküldött PipelineRun egyéb lépéseinek végrehajtását, ha egy lépés meghiúsul. Ha meg van adva, felülbírálja a continue_on_step_failure folyamat beállítását. |
path_on_datastore |
Opcionális. A módosított/hozzáadott blobok figyeléséhez használt adattár elérési útja. Az elérési út az adattár tárolója alatt található, így az ütemezési monitorok tényleges elérési útja tároló/path_on_datastore . Ha nincs, az adattár tárolója figyelve lesz. A rendszer nem figyeli az path_on_datastore almappában végrehajtott kiegészítéseket/módosításokat. Csak az adattár-ütemezések esetében támogatott. |
Az alábbi példa egy adattár által aktivált ütemezés definícióját tartalmazza:
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"
Ismétlődő ütemezés definiálásakor használja a következő kulcsokat a következő területenrecurrence
:
YAML-kulcs | Leírás |
---|---|
frequency |
Milyen gyakran ismétlődik az ütemezés. Az érvényes értékek a következők"Minute" : , "Hour" "Day" , "Week" vagy "Month" . |
interval |
Milyen gyakran gyullad ki az ütemezés. Az egész szám azon időegységek száma, amíg az ütemezés újra be nem omlik. |
start_time |
Az ütemezés kezdési időpontja. Az érték sztringformátuma.YYYY-MM-DDThh:mm:ss Ha nincs megadva kezdési idő, az első számítási feladat azonnal lefut, és a jövőbeli számítási feladatok az ütemezés alapján lesznek futtatva. Ha a kezdési időpont a múltban van, az első számítási feladat a következő számított futási időpontban lesz futtatva. |
time_zone |
A kezdési időpont időzónája. Ha nincs megadva időzóna, a rendszer UTC-t használ. |
hours |
Ha frequency igen "Day" "Week" , akkor megadhat egy vagy több egész számot 0-tól 23-ig, vesszővel elválasztva, a folyamat futtatásának napjának óráiként. Csak time_of_day vagy hours minutes használható. |
minutes |
Ha frequency igen "Day" "Week" , megadhat egy vagy több egész számot 0 és 59 között, vesszővel elválasztva, a folyamat futásának perceiként. Csak time_of_day vagy hours minutes használható. |
time_of_day |
Ha frequency igen "Day" "Week" , megadhatja az ütemezés futtatásának napját. Az érték sztringformátuma.hh:mm Csak time_of_day vagy hours minutes használható. |
week_days |
Ha frequency igen "Week" , megadhat egy vagy több napot vesszővel elválasztva, amikor az ütemezésnek futnia kell. Az érvényes értékek a következők"Monday" : , "Tuesday" , "Wednesday" "Thursday" , "Friday" , "Saturday" és "Sunday" . |
Az alábbi példa egy ismétlődő ütemezés definícióját tartalmazza:
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: ~
Következő lépések
Megtudhatja, hogyan használhatja az Azure Machine Learning CLI-bővítményét.