Skema YAML pekerjaan alur CLI (v2)

BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)

Anda dapat menemukan skema JSON sumber di https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json.

Catatan

Sintaks YAML yang dirinci dalam dokumen ini didasarkan pada skema JSON untuk versi terbaru ekstensi CLI v2 ML. Sintaks ini dijamin hanya berfungsi dengan versi terbaru ekstensi CLI v2 ML. Anda dapat menemukan skema untuk versi ekstensi yang lebih lama di https://azuremlschemasprod.azureedge.net/.

Sintaks YAML

Tombol Tipe Deskripsi Nilai yang diizinkan Nilai default
$schema string Skema YAML. Jika Anda menggunakan ekstensi Azure Pembelajaran Mesin VS Code untuk menulis file YAML, Anda dapat memanggil skema dan penyelesaian sumber daya jika Anda menyertakan $schema di bagian atas file Anda.
type const Harus diisi. Jenis pekerjaan. pipeline
name string Nama pekerjaan. Harus unik di semua pekerjaan di ruang kerja. Jika dihilangkan, Azure Pembelajaran Mesin akan membuat GUID secara otomatis untuk nama tersebut.
display_name string Nama tampilan pekerjaan di antarmuka pengguna studio. Dapat berupa tidak unik di dalam ruang kerja. Jika dihilangkan, Azure Pembelajaran Mesin membuat pengidentifikasi kata benda kata sifat yang dapat dibaca manusia untuk nama tampilan.
experiment_name string Atur pekerjaan dengan nama eksperimen. Catatan eksekusi setiap pekerjaan diatur di bawah eksperimen yang sesuai di tab "Eksperimen" studio. Jika dihilangkan, Azure Pembelajaran Mesin default experiment_name ke nama direktori kerja tempat pekerjaan dibuat.
tags object Kamus tag untuk pekerjaan.
settings object Pengaturan default untuk pekerjaan alur. Kunjungi Atribut settings kunci untuk kumpulan properti yang dapat dikonfigurasi.
jobs object Harus diisi. Kamus kumpulan masing-masing pekerjaan untuk dijalankan sebagai langkah dalam alur. Pekerjaan ini dianggap sebagai pekerjaan turunan dari pekerjaan alur induk.

Kunci adalah nama langkah dalam konteks pekerjaan alur. Nama ini berbeda dari nama pekerjaan unik pekerjaan anak. Nilainya adalah spesifikasi pekerjaan, yang dapat mengikuti skema pekerjaan perintah atau skema pekerjaan pembersihan. Saat ini, hanya pekerjaan perintah dan pekerjaan pembersihan yang dapat dijalankan dalam alur. Rilis selanjutnya akan memiliki dukungan untuk jenis pekerjaan lain.
inputs object Kamus input ke pekerjaan alur. Kuncinya adalah nama untuk input dalam konteks pekerjaan. Nilainya adalah nilai input.

Input pekerjaan langkah individual dalam alur dapat mereferensikan input alur ini dengan ${{ parent.inputs.<input_name> }} ekspresi . Untuk informasi selengkapnya tentang mengikat input langkah alur ke input pekerjaan alur tingkat atas, kunjungi Sintaks ekspresi untuk mengikat input dan output antara langkah-langkah dalam pekerjaan alur.
inputs.<input_name> angka, bilangan bulat, boolean, string, atau objek Salah satu nilai literal (dari nomor jenis, integer, boolean, atau string) atau objek yang berisi spesifikasi data input pekerjaan.
outputs object Kamus konfigurasi output dari pekerjaan alur. Kuncinya adalah nama untuk output dalam konteks pekerjaan. Nilainya adalah konfigurasi output.

Output pekerjaan langkah individual dalam alur dapat mereferensikan output alur ini dengan ${{ parents.outputs.<output_name> }} ekspresi . Untuk informasi selengkapnya tentang mengikat output langkah alur ke output pekerjaan alur tingkat atas, kunjungi sintaks Ekspresi untuk mengikat input dan output antara langkah-langkah dalam pekerjaan alur.
outputs.<output_name> object Anda dapat membiarkan objek kosong. Dalam hal ini, secara default, output akan berjenis uri_folder, dan Azure Pembelajaran Mesin akan menghasilkan lokasi output untuk output berdasarkan jalur templat ini: {settings.datastore}/azureml/{job-name}/{output-name}/. File ke direktori output akan ditulis melalui pemasangan baca-tulis. Untuk menentukan mode output yang berbeda, berikan objek yang berisi spesifikasi output pekerjaan.
identity object Mengakses data menggunakan identitas. Ini dapat berupa Konfigurasi Identitas Pengguna, Konfigurasi Identitas Terkelola, atau Tidak Ada. Untuk UserIdentityConfiguration, identitas pengirim pekerjaan digunakan untuk mengakses data input dan menulis hasilnya ke folder output. Jika tidak, UserIdentityConfiguration menggunakan identitas terkelola dari target komputasi.

Atribut kunci settings

Tombol Tipe Deskripsi Nilai default
default_datastore string Nama datastore yang akan digunakan sebagai datastore default untuk pekerjaan alur. Nilai ini harus menjadi referensi ke datastore yang ada di ruang kerja, menggunakan sintaks.azureml:<datastore-name> Output apa pun yang ditentukan dalam outputs properti pekerjaan alur induk atau pekerjaan langkah turunan disimpan di datastore ini. Jika dihilangkan, output disimpan di penyimpanan data blob ruang kerja.
default_compute string Nama target komputasi yang akan digunakan sebagai komputasi default untuk semua langkah dalam alur. Komputasi yang ditentukan pada tingkat langkah mengambil alih komputasi default ini untuk langkah tertentu tersebut. Nilai default_compute harus menjadi referensi ke komputasi yang ada di ruang kerja, menggunakan sintaks.azureml:<compute-name>
continue_on_step_failure Boolean Pengaturan ini menentukan apa yang terjadi jika langkah dalam alur gagal. Secara default, alur akan terus berjalan meskipun satu langkah gagal. Ini berarti bahwa setiap langkah yang tidak bergantung pada langkah yang gagal masih akan dijalankan. Namun, jika Anda mengubah pengaturan ini menjadi False, seluruh alur berhenti berjalan dan langkah yang sedang berjalan akan dibatalkan jika satu langkah gagal. True
force_rerun Boolean Apakah akan memaksa menjalankan ulang seluruh alur. Nilai defaultnya adalah False. Ini berarti bahwa secara default, alur mencoba menggunakan kembali output pekerjaan sebelumnya jika memenuhi kriteria penggunaan kembali. Jika diatur sebagai True, semua langkah dalam alur akan dieksekusi ulang. False

Input pekerjaan

Tombol Tipe Deskripsi Nilai yang diizinkan Nilai default
type string Jenis input pekerjaan. Tentukan uri_file untuk data yang mengarah ke satu sumber file, atau uri_folder untuk data yang mengarah ke sumber folder. Untuk informasi selengkapnya, kunjungi Pelajari selengkapnya tentang akses data. uri_file, , uri_foldermltable,mlflow_model uri_folder
path string Jalur ke data yang akan digunakan sebagai input. Ini dapat ditentukan dalam beberapa cara:

- Jalur lokal ke file atau folder sumber data, misalnya path: ./iris.csv. Data diunggah selama pengiriman pekerjaan.

- URI jalur cloud ke file atau folder untuk digunakan sebagai input. Jenis URI yang didukung adalah azureml, https, wasbs, abfss, adl. Untuk informasi selengkapnya tentang penggunaan azureml:// format URI, kunjungi Sintaks yaml Core.

- Aset data Azure Pembelajaran Mesin terdaftar yang ada untuk digunakan sebagai input. Untuk mereferensikan aset data terdaftar, gunakan azureml:<data_name>:<data_version> sintaks atau azureml:<data_name>@latest (untuk mereferensikan versi terbaru aset data tersebut), misalnya path: azureml:cifar10-data:1 atau path: azureml:cifar10-data@latest.
mode string Mode bagaimana data harus dikirimkan ke target komputasi.

Untuk pemasangan baca-saja (ro_mount), data akan digunakan sebagai jalur pemasangan. Folder dipasang sebagai folder dan file dipasang sebagai file. Azure Pembelajaran Mesin menyelesaikan input ke jalur pemasangan.

Untuk download mode, data diunduh ke target komputasi. Azure Pembelajaran Mesin menyelesaikan input ke jalur yang diunduh.

Hanya untuk URL lokasi penyimpanan artefak atau artefak data, alih-alih memasang atau mengunduh data itu sendiri, gunakan direct mode . Ini melewati URL lokasi penyimpanan sebagai input pekerjaan. Dalam hal ini, Anda bertanggung jawab penuh untuk menangani informasi masuk untuk mengakses penyimpanan.
ro_mount, , downloaddirect ro_mount

Output pekerjaan

Tombol Tipe Deskripsi Nilai yang diizinkan Nilai default
type string Jenis output pekerjaan. Untuk jenis default uri_folder , output sesuai dengan folder. uri_file, , uri_foldermltable,mlflow_model uri_folder
mode string Mode pengiriman file atau file output ke penyimpanan tujuan. Untuk mode pemasangan baca-tulis (rw_mount), direktori output akan menjadi direktori yang dipasang. Untuk mode pengunggahan, file yang ditulis diunggah di akhir pekerjaan. rw_mount, upload rw_mount

Konfigurasi identitas

UserIdentityConfiguration

Tombol Tipe Deskripsi Nilai yang diizinkan
type const Harus diisi. Jenis identitas. user_identity

ManagedIdentityConfiguration

Tombol Tipe Deskripsi Nilai yang diizinkan
type const Harus diisi. Jenis identitas. managed atau managed_identity

Keterangan

Anda dapat menggunakan az ml job perintah untuk mengelola pekerjaan Azure Pembelajaran Mesin.

Contoh

Kunjungi contoh repositori GitHub misalnya. Beberapa ditunjukkan di sini:

YAML: halo alur

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline
jobs:
  hello_job:
    command: echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster
  world_job:
    command: echo "world"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster

YAML: dependensi input/output

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_io
jobs:
  hello_job:
    command: echo "hello" && echo "world" > ${{outputs.world_output}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster
    outputs:
      world_output:
  world_job:
    command: cat ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    compute: azureml:cpu-cluster
    inputs:
      world_input: ${{parent.jobs.hello_job.outputs.world_output}}

YAML: pengaturan pekerjaan alur umum

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_settings

settings:
  default_datastore: azureml:workspaceblobstore
  default_compute: azureml:cpu-cluster
jobs:
  hello_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
  world_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest

YAML: input tingkat atas dan pengambil alihan pengaturan pekerjaan alur umum

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_abc
settings:
    default_compute: azureml:cpu-cluster
  
inputs:
  hello_string_top_level_input: "hello world"
jobs:
  a:
    command: echo hello ${{inputs.hello_string}}
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    inputs:
      hello_string: ${{parent.inputs.hello_string_top_level_input}}
  b:
    command: echo "world" >> ${{outputs.world_output}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    outputs:
      world_output:
  c:
    command: echo ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    inputs:
      world_input: ${{parent.jobs.b.outputs.world_output}}

Langkah berikutnya