Skema YAML pekerjaan klasifikasi gambar ML otomatis CLI (v2)
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Skema JSON sumber dapat ditemukan di https://azuremlsdk2.blob.core.windows.net/preview/0.0.1/autoMLImageClassificationJob.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 pengguna menggunakan ekstensi Azure Pembelajaran Mesin VS Code untuk menulis file YAML, termasuk $schema di bagian atas file memungkinkan pengguna untuk memanggil skema dan penyelesaian sumber daya. |
||
type |
const | Harus diisi. Jenis pekerjaan. | automl |
automl |
task |
const | Harus diisi. Jenis tugas AutoML. | image_classification |
image_classification |
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 akan membuat pengidentifikasi kata benda kata sifat yang dapat dibaca manusia secara otomatis untuk nama tampilan. | ||
experiment_name |
string | Nama eksperimen untuk mengatur pekerjaan di bawah. Setiap rekaman eksekusi pekerjaan akan diatur di bawah eksperimen yang sesuai di tab "Eksperimen" studio. Jika dihilangkan, Azure Pembelajaran Mesin akan default ke nama direktori kerja tempat pekerjaan dibuat. | ||
description |
string | Deskripsi pekerjaan. | ||
tags |
object | Kamus tag untuk pekerjaan. | ||
compute |
string | Nama target komputasi untuk menjalankan pekerjaan. Komputasi ini dapat menjadi referensi ke komputasi yang ada di ruang kerja (menggunakan azureml:<compute_name> sintaks) atau local untuk menunjuk eksekusi lokal. Untuk informasi selengkapnya tentang komputasi untuk pekerjaan gambar AutoML, lihat Bagian komputasi untuk menjalankan eksperimen .Catatan: pekerjaan dalam alur tidak mendukung local sebagai compute . * |
local |
|
log_verbosity |
number | Tingkat verbositas log yang berbeda. | not_set , , debug info , warning , , error ,critical |
info |
primary_metric |
string | Metrik yang akan dioptimalkan AutoML untuk pemilihan model. | accuracy |
accuracy |
target_column_name |
string | Harus diisi. Nama kolom yang akan ditargetkan untuk prediksi. Ini harus selalu ditentukan. Parameter ini berlaku untuk training_data dan validation_data . |
||
training_data |
object | Harus diisi. Data yang akan digunakan dalam pekerjaan. Ini harus berisi kolom fitur pelatihan dan kolom target. Parameter training_data harus selalu disediakan. Untuk informasi selengkapnya tentang kunci dan deskripsinya, lihat bagian Data pelatihan atau validasi . Misalnya, lihat bagian Mengonsumsi data . | ||
validation_data |
object | Data validasi yang akan digunakan dalam pekerjaan. Data tersebut harus berisi fitur pelatihan dan kolom label (opsional untuk kolom bobot sampel). Jika validation_data ditentukan, parameter training_data dan target_column_name harus ditentukan. Untuk informasi selengkapnya tentang kunci dan deskripsinya, lihat bagian Data pelatihan atau validasi . Misalnya, lihat bagian Mengonsumsi data |
||
validation_data_size |
float | Pecahan data apa yang akan ditahan untuk validasi saat data validasi pengguna tidak ditentukan. | Nilai dalam rentang (0,0, 1,0) | |
limits |
object | Kamus konfigurasi batas pekerjaan. Kuncinya adalah nama untuk batas dalam konteks pekerjaan dan nilainya adalah nilai batas. Untuk informasi selengkapnya, lihat bagian Mengonfigurasi pengaturan eksperimen Anda. | ||
training_parameters |
object | Kamus yang berisi parameter pelatihan untuk pekerjaan tersebut. Berikan objek yang memiliki kunci seperti yang tercantum di bagian berikut. - Hiperparameter agnostik model - Klasifikasi gambar (hiperparameter khusus multi-kelas dan multi-label). Misalnya, lihat Bagian Arsitektur model yang didukung. |
||
sweep |
object | Kamus yang berisi parameter pembersihan untuk pekerjaan tersebut. Ini memiliki dua kunci - sampling_algorithm (diperlukan) dan early_termination . Untuk informasi selengkapnya dan contohnya, lihat Bagian metode pengambilan sampel untuk pembersihan, Kebijakan penghentian dini. |
||
search_space |
object | Kamus ruang pencarian hiperparameter. Kuncinya adalah nama hiperparameter dan nilainya adalah ekspresi parameter. Pengguna dapat menemukan kemungkinan hiperparameter dari parameter yang ditentukan untuk training_parameters kunci. Misalnya, lihat Menyapu hiperparameter untuk bagian model Anda. |
||
search_space.<hyperparameter> |
object | Ada dua jenis hiperparameter: - Hyperparameter diskrit: Hiperparameter diskrit ditentukan sebagai choice di antara nilai diskrit. choice dapat berupa satu atau beberapa nilai yang dipisahkan koma, range objek, atau objek arbitrer list apa pun. Hiperparameter diskrit tingkat lanjut juga dapat ditentukan menggunakan distribusi - randint , ,qlognormal qnormal ,qloguniform , . quniform Untuk informasi selengkapnya, lihat bagian ini. - Hiperparameter berkelanjutan: Hiperparameter berkelanjutan ditentukan sebagai distribusi melalui rentang nilai berkelanjutan. Distribusi yang saat ini didukung adalah - lognormal , normal , loguniform , uniform . Untuk informasi selengkapnya, lihat bagian ini. Lihat Ekspresi parameter untuk serangkaian kemungkinan ekspresi yang akan digunakan. |
||
outputs |
object | Kamus konfigurasi output dari pekerjaan. Kunci adalah nama untuk output dalam konteks pekerjaan dan nilai adalah konfigurasi output. | ||
outputs.best_model |
object | Kamus konfigurasi output untuk model terbaik. Untuk informasi selengkapnya, lihat Konfigurasi output model terbaik. |
Data pelatihan atau validasi
Tombol | Tipe | Deskripsi | Nilai yang diizinkan | Nilai default |
---|---|---|---|---|
description |
string | Informasi terperinci yang menjelaskan data input ini. | ||
path |
string | Jalur dapat berupa file jalur, jalur, folder atau pattern untuk jalur. pattern menentukan pola pencarian untuk memungkinkan globbing(* dan ** ) file dan folder yang berisi data. Jenis URI yang didukung adalah azureml , https , wasbs , abfss , dan adl . Untuk informasi selengkapnya tentang cara menggunakan format URI azureml:// , lihat Sintaks yaml inti. URI lokasi file artefak. Jika URI ini tidak memiliki skema (misalnya, http:, azureml: dll.), maka URI ini dianggap sebagai referensi lokal dan file yang ditujukan untuk diunggah ke penyimpanan blob ruang kerja default saat entitas dibuat. |
||
mode |
string | Mekanisme pengiriman himpunan data. | direct |
direct |
type |
const | Untuk menghasilkan model visi komputer, pengguna perlu membawa data gambar berlabel sebagai input untuk pelatihan model dalam bentuk MLTable. | mltable | mltable |
Konfigurasi output model terbaik
Tombol | Tipe | Deskripsi | Nilai yang diizinkan | Nilai default |
---|---|---|---|---|
type |
string | Harus diisi. Jenis model terbaik. AutoML hanya memungkinkan model mlflow. | mlflow_model |
mlflow_model |
path |
string | Harus diisi. URI lokasi tempat file artefak model disimpan. Jika URI ini tidak memiliki skema (misalnya, http:, azureml: dll.), maka URI ini dianggap sebagai referensi lokal dan file yang ditujukan untuk diunggah ke penyimpanan blob ruang kerja default saat entitas dibuat. | ||
storage_uri |
string | The HTTP URL of the Model. Gunakan URL ini dengan az storage copy -s THIS_URL -d DESTINATION_PATH --recursive untuk mengunduh data. |
Keterangan
Perintah az ml job
dapat digunakan untuk mengelola tugas Azure Machine Learning.
Contoh
Contoh tersedia di contoh repositori GitHub. Contoh yang relevan dengan pekerjaan klasifikasi gambar ditautkan di bawah ini.
YAML: Pekerjaan klasifikasi gambar AutoML
$schema: https://azuremlsdk2.blob.core.windows.net/preview/0.0.1/autoMLJob.schema.json
type: automl
experiment_name: dpv2-cli-automl-image-classification-experiment
description: A multi-class Image classification job using fridge items dataset
compute: azureml:gpu-cluster
task: image_classification
log_verbosity: debug
primary_metric: accuracy
target_column_name: label
training_data:
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/training-mltable-folder
type: mltable
validation_data:
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/validation-mltable-folder
type: mltable
limits:
timeout_minutes: 60
max_trials: 10
max_concurrent_trials: 2
training_parameters:
early_stopping: True
evaluation_frequency: 1
sweep:
sampling_algorithm: random
early_termination:
type: bandit
evaluation_interval: 2
slack_factor: 0.2
delay_evaluation: 6
search_space:
- model_name:
type: choice
values: [vitb16r224, vits16r224]
learning_rate:
type: uniform
min_value: 0.001
max_value: 0.01
number_of_epochs:
type: choice
values: [15, 30]
- model_name:
type: choice
values: [seresnext, resnet50]
learning_rate:
type: uniform
min_value: 0.001
max_value: 0.01
layers_to_freeze:
type: choice
values: [0, 2]
YAML: Pekerjaan alur klasifikasi gambar AutoML
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
description: Pipeline using AutoML Image Multiclass Classification task
display_name: pipeline-with-image-classification
experiment_name: pipeline-with-automl
settings:
default_compute: azureml:gpu-cluster
inputs:
image_multiclass_classification_training_data:
type: mltable
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/training-mltable-folder
image_multiclass_classification_validation_data:
type: mltable
# Update the path, if prepare_data.py is using data_path other than "./data"
path: data/validation-mltable-folder
jobs:
image_multiclass_classification_node:
type: automl
task: image_classification
log_verbosity: info
primary_metric: accuracy
limits:
timeout_minutes: 180
max_trials: 10
max_concurrent_trials: 2
target_column_name: label
training_data: ${{parent.inputs.image_multiclass_classification_training_data}}
validation_data: ${{parent.inputs.image_multiclass_classification_validation_data}}
sweep:
sampling_algorithm: random
early_termination:
type: bandit
evaluation_interval: 2
slack_factor: 0.2
delay_evaluation: 6
search_space:
- model_name:
type: choice
values: [vitb16r224, vits16r224]
learning_rate:
type: uniform
min_value: 0.001
max_value: 0.01
number_of_epochs:
type: choice
values: [15, 30]
- model_name:
type: choice
values: [seresnext, resnet50]
learning_rate:
type: uniform
min_value: 0.001
max_value: 0.01
layers_to_freeze:
type: choice
values: [0, 2]
training_parameters:
early_stopping: True
evaluation_frequency: 1
# currently need to specify outputs "mlflow_model" explicitly to reference it in following nodes
outputs:
best_model:
type: mlflow_model
register_model_node:
type: command
component: file:./components/component_register_model.yaml
inputs:
model_input_path: ${{parent.jobs.image_multiclass_classification_node.outputs.best_model}}
model_base_name: fridge_items_multiclass_classification_model
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk