Aracılığıyla paylaş


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ığı , DataPathParameterve NodeCountParameteradlı 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_dataanahtarda 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 Trueve VM kullanıyorsa.VirtualMachineConfigurationcreate_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 outputssourceinputs 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 recurrenceaş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.