CLI (v1) işlem hattı işi YAML şeması
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v1
Dekont
Bu belgede ayrıntılı olarak yer alan YAML söz dizimi, ML CLI uzantısının v1 sürümünün JSON şemasını temel alır. Bu söz diziminin yalnızca ML CLI v1 uzantısıyla çalışması garanti edilir. ML CLI v2 söz dizimi için v2'ye (geçerli sürüm) geçin.
Önemli
Bu makaledeki Azure CLI komutlarından bazıları Azure Machine Learning için uzantısını veya v1'i kullanır azure-cli-ml
. v1 uzantısı desteği 30 Eylül 2025'te sona erecektir. Bu tarihe kadar v1 uzantısını yükleyebilecek ve kullanabileceksiniz.
30 Eylül 2025'e kadar , veya v2 uzantısına geçmenizi ml
öneririz. v2 uzantısı hakkında daha fazla bilgi için bkz . Azure ML CLI uzantısı ve Python SDK v2.
YAML'de makine öğrenmesi işlem hatlarınızı tanımlayın. Azure CLI v1 için makine öğrenmesi uzantısını kullanırken işlem hattıyla ilgili komutların çoğu işlem hattını tanımlayan bir YAML dosyası bekler.
Aşağıdaki tabloda, CLI v1 ile kullanılmak üzere YAML'de işlem hattı tanımlanırken şu anda nelerin desteklenip desteklenmediği listelenmektedir:
Adım türü | Destekleniyor mu? |
---|---|
PythonScriptStep | Evet |
ParallelRunStep | Evet |
AdlaStep | Evet |
AzureBatchStep | Evet |
DatabricksStep | Evet |
DataTransferStep | Evet |
AutoMLStep | No |
HyperDriveStep | No |
ModuleStep | Evet |
MPIStep | No |
EstimatorStep | No |
İşlem hattı tanımı
İşlem hattı tanımı, Pipelines sınıfına karşılık gelen aşağıdaki anahtarları kullanır:
YAML anahtarı | Açıklama |
---|---|
name |
İşlem hattının açıklaması. |
parameters |
İşlem hattına parametreler. |
data_reference |
Bir çalıştırmada verilerin nasıl ve nerede kullanılabilir hale getirileceği tanımlar. |
default_compute |
İşlem hattındaki tüm adımların çalıştırıldığı varsayılan işlem hedefi. |
steps |
İşlem hattında kullanılan adımlar. |
Parametreler
parameters
bölümünde PipelineParameter sınıfına karşılık gelen aşağıdaki anahtarlar kullanılır:
YAML anahtarı | Açıklama |
---|---|
type |
Parametresinin değer türü. Geçerli türler : string , int , float , bool , veya datapath . |
default |
Varsayılan değer. |
Her parametrenin adı verilmiştir. Örneğin, aşağıdaki YAML kod parçacığı , DataPathParameter
ve NodeCountParameter
adlı NumIterationsParameter
üç parametre tanımlar:
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
Veri başvurusu
data_references
bölümünde DataReference'a karşılık gelen aşağıdaki anahtarlar kullanılır:
YAML anahtarı | Açıklama |
---|---|
datastore |
Başvurulacak veri deposu. |
path_on_datastore |
Veri başvurusu için yedekleme depolamadaki göreli yol. |
Her veri başvurusu bir anahtarda yer alır. Örneğin, aşağıdaki YAML kod parçacığı adlı employee_data
anahtarda depolanan bir veri başvurusu tanımlar:
pipeline:
name: SamplePipelineFromYaml
parameters:
PipelineParam1:
type: int
default: 3
data_references:
employee_data:
datastore: adftestadla
path_on_datastore: "adla_sample/sample_input.csv"
Adımlar
Adımlar, ortamda çalıştırılacak dosyalarla birlikte bir hesaplama ortamı tanımlar. Bir adımın türünü tanımlamak için anahtarını kullanın type
:
Adım türü | Açıklama |
---|---|
AdlaStep |
Azure Data Lake Analytics ile bir U-SQL betiği çalıştırır. AdlaStep sınıfına karşılık gelir. |
AzureBatchStep |
Azure Batch kullanarak işleri çalıştırır. AzureBatchStep sınıfına karşılık gelir. |
DatabricsStep |
Databricks not defteri, Python betiği veya JAR ekler. DatabricksStep sınıfına karşılık gelir. |
DataTransferStep |
Verileri depolama seçenekleri arasında aktarır. DataTransferStep sınıfına karşılık gelir. |
PythonScriptStep |
Python betiği çalıştırır. PythonScriptStep sınıfına karşılık gelir. |
ParallelRunStep |
Büyük miktarda veriyi zaman uyumsuz ve paralel olarak işlemek için bir Python betiği çalıştırır. ParallelRunStep sınıfına karşılık gelir. |
ADLA adımı
YAML anahtarı | Açıklama |
---|---|
script_name |
U-SQL betiğinin adı (ile ilgili).source_directory |
compute |
Bu adım için kullanılacak Azure Data Lake işlem hedefi. |
parameters |
İşlem hattına yönelik parametreler . |
inputs |
Girişler InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition veya PipelineDataset olabilir. |
outputs |
Çıkışlar PipelineData veya OutputPortBinding olabilir. |
source_directory |
Betiği, derlemeleri vb. içeren dizin. |
priority |
Geçerli iş için kullanılacak öncelik değeri. |
params |
Ad-değer çiftlerinin sözlüğü. |
degree_of_parallelism |
Bu iş için kullanılacak paralellik derecesi. |
runtime_version |
Data Lake Analytics altyapısının çalışma zamanı sürümü. |
allow_reuse |
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını belirler. |
Aşağıdaki örnek bir ADLA Adım tanımı içerir:
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 adımı
YAML anahtarı | Açıklama |
---|---|
compute |
Bu adım için kullanılacak Azure Batch işlem hedefi. |
inputs |
Girişler InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition veya PipelineDataset olabilir. |
outputs |
Çıkışlar PipelineData veya OutputPortBinding olabilir. |
source_directory |
Modül ikili dosyalarını, yürütülebilir dosyaları, derlemeleri vb. içeren dizin. |
executable |
Bu işin bir parçası olarak çalıştırılacak komutun/yürütülebilir dosyanın adı. |
create_pool |
İşi çalıştırmadan önce havuzun oluşturulup oluşturulmayacağını belirten Boole bayrağı. |
delete_batch_job_after_finish |
İşlem tamamlandıktan sonra batch hesabından işin silinip silinmeyeceğini belirten Boole bayrağı. |
delete_batch_pool_after_finish |
İş bittikten sonra havuzun silinip silinmeyeceğini belirten Boole bayrağı. |
is_positive_exit_code_failure |
Görevin pozitif bir kodla çıkması durumunda işin başarısız olup olmadığını gösteren Boole bayrağı. |
vm_image_urn |
ise True ve VM kullanıyorsa.VirtualMachineConfiguration create_pool |
pool_id |
İşin çalıştırılacağı havuzun kimliği. |
allow_reuse |
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını belirler. |
Aşağıdaki örnek bir Azure Batch adım tanımı içerir:
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 adımı
YAML anahtarı | Açıklama |
---|---|
compute |
Bu adım için kullanılacak Azure Databricks işlem hedefi. |
inputs |
Girişler InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition veya PipelineDataset olabilir. |
outputs |
Çıkışlar PipelineData veya OutputPortBinding olabilir. |
run_name |
Bu çalıştırma için Databricks'teki ad. |
source_directory |
Betiği ve diğer dosyaları içeren dizin. |
num_workers |
Databricks çalıştırma kümesi için statik çalışan sayısı. |
runconfig |
Dosyanın yolu .runconfig . Bu dosya, RunConfiguration sınıfının YAML gösterimidir. Bu dosyanın yapısı hakkında daha fazla bilgi için bkz . runconfigschema.json. |
allow_reuse |
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını belirler. |
Aşağıdaki örnek bir Databricks adımı içerir:
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
Veri aktarımı adımı
YAML anahtarı | Açıklama |
---|---|
compute |
Bu adım için kullanılacak Azure Data Factory işlem hedefi. |
source_data_reference |
Veri aktarımı işlemlerinin kaynağı olarak hizmet veren giriş bağlantısı. Desteklenen değerler InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition veya PipelineDataset'tir. |
destination_data_reference |
Veri aktarımı işlemlerinin hedefi olarak görev alan giriş bağlantısı. Desteklenen değerler PipelineData ve OutputPortBinding'tir. |
allow_reuse |
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını belirler. |
Aşağıdaki örnek bir veri aktarımı adımı içerir:
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 betik adımı
YAML anahtarı | Açıklama |
---|---|
inputs |
Girişler InputPortBinding, DataReference, PortDataReference, PipelineData, Dataset, DatasetDefinition veya PipelineDataset olabilir. |
outputs |
Çıkışlar PipelineData veya OutputPortBinding olabilir. |
script_name |
Python betiğinin adı (ile ilgili).source_directory |
source_directory |
Betiği, Conda ortamını vb. içeren dizin. |
runconfig |
Dosyanın yolu .runconfig . Bu dosya, RunConfiguration sınıfının YAML gösterimidir. Bu dosyanın yapısı hakkında daha fazla bilgi için bkz . runconfig.json. |
allow_reuse |
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını belirler. |
Aşağıdaki örnek bir Python betik adımı içerir:
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
Paralel çalıştırma adımı
YAML anahtarı | Açıklama |
---|---|
inputs |
Girişler Veri Kümesi, DatasetDefinition veya PipelineDataset olabilir. |
outputs |
Çıkışlar PipelineData veya OutputPortBinding olabilir. |
script_name |
Python betiğinin adı (ile ilgili).source_directory |
source_directory |
Betiği, Conda ortamını vb. içeren dizin. |
parallel_run_config |
Dosyanın yolu parallel_run_config.yml . Bu dosya ParallelRunConfig sınıfının YAML gösterimidir. |
allow_reuse |
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını belirler. |
Aşağıdaki örnek bir Paralel çalıştırma adımı içerir:
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
Birden çok adımlı işlem hattı
YAML anahtarı | Açıklama |
---|---|
steps |
Bir veya daha fazla PipelineStep tanımının sırası. Bir adımın destination anahtarlarının bir sonraki adımın outputs source inputs anahtarları haline geldiğini unutmayın. |
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
Zamanlamalar
bir işlem hattı için zamanlamayı tanımlarken, veri deposu tarafından tetiklenen veya bir zaman aralığına göre yinelenen olabilir. Zamanlama tanımlamak için kullanılan anahtarlar şunlardır:
YAML anahtarı | Açıklama |
---|---|
description |
Zamanlamanın açıklaması. |
recurrence |
Zamanlama yinelenense yinelenme ayarlarını içerir. |
pipeline_parameters |
İşlem hattı için gerekli olan tüm parametreler. |
wait_for_provisioning |
Zamanlamanın sağlanmasının tamamlanmasının beklenip beklenmeyeceği. |
wait_timeout |
Zaman aşımına uğramadan önce bek için saniye sayısı. |
datastore_name |
Değiştirilen/eklenen blobları izlemek için veri deposu. |
polling_interval |
Değiştirilen/eklenen bloblar için yoklama arasındaki süre (dakika cinsinden). Varsayılan değer: 5 dakika. Yalnızca veri deposu zamanlamaları için desteklenir. |
data_path_parameter_name |
Değiştirilen blob yolu ile ayarlanacağı veri yolu işlem hattı parametresinin adı. Yalnızca veri deposu zamanlamaları için desteklenir. |
continue_on_step_failure |
Bir adım başarısız olursa gönderilen PipelineRun içindeki diğer adımların yürütülmesine devam edilip edilmeyeceği. Sağlanırsa, işlem hattının continue_on_step_failure ayarını geçersiz kılar. |
path_on_datastore |
isteğe bağlı. Değiştirilen/eklenen blobları izlemek için veri deposundaki yol. Yol, veri deposunun kapsayıcısının altında olduğundan zamanlamanın izlediği gerçek yol kapsayıcıdır/path_on_datastore . Yoksa, veri deposu kapsayıcısı izlenir. öğesinin bir alt klasöründe path_on_datastore yapılan eklemeler/değişiklikler izlenmez. Yalnızca veri deposu zamanlamaları için desteklenir. |
Aşağıdaki örnek, veri deposu ile tetiklenen zamanlamanın tanımını içerir:
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"
Yinelenen bir zamanlama tanımlarken altında recurrence
aşağıdaki anahtarları kullanın:
YAML anahtarı | Açıklama |
---|---|
frequency |
Zamanlamanın ne sıklıkta yinelenir? Geçerli değerler , , "Hour" "Day" , "Week" veya "Month" değerleridir"Minute" . |
interval |
Zamanlamanın ne sıklıkta tetiklendiğinden. Tamsayı değeri, zamanlama yeniden başlatılana kadar bek süre birimi sayısıdır. |
start_time |
Zamanlamanın başlangıç saati. Değerin dize biçimi şeklindedir YYYY-MM-DDThh:mm:ss . Başlangıç zamanı sağlanmazsa, ilk iş yükü anında çalıştırılır ve gelecekteki iş yükleri zamanlamaya göre çalıştırılır. Başlangıç saati geçmişteyse, ilk iş yükü bir sonraki hesaplanmış çalışma zamanında çalıştırılır. |
time_zone |
Başlangıç saatinin saat dilimi. Saat dilimi sağlanmazsa UTC kullanılır. |
hours |
veya "Week" ise "Day" frequency , işlem hattının çalıştırılması gereken günün saatleri olarak virgülle ayrılmış olarak 0 ile 23 arasında bir veya daha fazla tamsayı belirtebilirsiniz. Yalnızca time_of_day veya hours ve minutes kullanılabilir. |
minutes |
veya "Week" ise "Day" frequency , işlem hattının çalıştırılması gereken saatin dakikası olarak virgülle ayrılmış olarak 0 ile 59 arasında bir veya daha fazla tamsayı belirtebilirsiniz. Yalnızca time_of_day veya hours ve minutes kullanılabilir. |
time_of_day |
veya "Week" ise "Day" frequency , zamanlamanın çalışması için günün saatini belirtebilirsiniz. Değerin dize biçimi şeklindedir hh:mm . Yalnızca time_of_day veya hours ve minutes kullanılabilir. |
week_days |
ise frequency "Week" , zamanlamanın ne zaman çalıştırılacağını virgülle ayırarak bir veya daha fazla gün belirtebilirsiniz. Geçerli değerler , , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ve "Sunday" değerleridir"Monday" . |
Aşağıdaki örnek, yinelenen zamanlamanın tanımını içerir:
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: ~
Sonraki adımlar
Azure Machine Learning için CLI uzantısını kullanmayı öğrenin.