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_folder mltable ,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 , , download direct |
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_folder mltable ,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}}