Hyperparameter untuk tugas visi komputer dalam pembelajaran mesin otomatis

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Pelajari hyperparameter mana yang tersedia khusus untuk tugas visi komputer dalam eksperimen ML otomatis.

Dengan dukungan untuk tugas visi komputer, Anda dapat mengontrol arsitektur model dan menyapu hiperparameter. Arsitektur model dan hiperparameter ini diteruskan sebagai ruang parameter untuk sapuan. Meskipun banyak dari hyperparameter yang terpapar adalah agnostik model, ada instans di mana hyperparameter bersifat spesifik model atau spesifik tugas.

Hiperparameter spesifik model

Tabel ini meringkas hiperparameter khusus untuk yolov5 arsitektur.

Nama parameter Deskripsi Default
validation_metric_type Metode komputasi metrik untuk digunakan untuk metrik validasi.
Harus none, coco, voc, atau coco_voc.
voc
validation_iou_threshold Ambang IOU untuk pencocokan kotak saat menghitung metrik validasi.
Harus berupa float dalam rentang [0.1, 1].
0.5
image_size Ukuran gambar untuk latihan dan validasi.
Harus berupa nilai bilangan bulat positif.

Catatan: eksekusi pelatihan bisa masuk ke CUDA OOM jika ukurannya terlalu besar.
640
model_size Ukuran model.
Harus small, medium, large, atau extra_large.

Catatan: eksekusi pelatihan mungkin masuk ke CUDA OOM jika ukuran modelnya terlalu besar.
medium
multi_scale Aktifkan gambar multi-skala dengan memvariasikan ukuran gambar sebesar +/- 50%
Harus 0 atau 1.

Catatan: eksekusi pelatihan mungkin masuk ke CUDA OOM jika tidak ada memori GPU yang cukup.
0
box_score_threshold Selama inferensi, hanya proposal kembali dengan skor klasifikasi lebih besar dari box_score_threshold. Skor adalah perkalian skor objek dan probabilitas klasifikasi.
Harus berupa float dalam rentang [0, 1].
0.1
nms_iou_threshold Ambang IOU yang digunakan selama inferensi dalam pemrosesan pasca penekanan non-maksimum.
Harus berupa float dalam rentang [0, 1].
0,5
tile_grid_size Ukuran kisi yang akan digunakan untuk pemetakan setiap gambar.
Catatan: tile_grid_size tidak boleh Tidak Ada untuk mengaktifkan logika deteksi objek kecil
Harus diteruskan sebagai string dalam format '3x2'. Contoh: --tile_grid_size '3x2'
Tidak Ada Default
tile_overlap_ratio Tumpang tindih rasio antara petak yang berdekatan di tiap dimensi.
Harus berupa float dalam rentang [0, 1)
0.25
tile_predictions_nms_threshold Ambang IOU untuk digunakan untuk melakukan NMS sambil menggabungkan prediksi dari petak peta dan gambar. Digunakan dalam validasi/ inferensi.
Harus berupa float dalam rentang [0, 1]
0.25

Tabel ini merangkum hyperparameter khusus maskrcnn_* untuk segmentasi instans selama inferensi.

Nama parameter Deskripsi Default
mask_pixel_score_threshold Skor minimal untuk mempertimbangkan piksel sebagai bagian dari masker objek. 0.5
max_number_of_polygon_points Jumlah maksimum pasangan koordinat (x, y) dalam poligon setelah dikonversi dari masker. 100
export_as_image Ekspor masker sebagai gambar. FALSE
image_type Jenis gambar untuk mengekspor masker sebagai (opsi jpg, png, bmp). JPG

Hiperparameter agnostik model

Tabel berikut menggambarkan hiperparameter yang merupakan agnostik model.

Nama parameter Deskripsi Default
number_of_epochs Jumlah epoch pelatihan.
Harus berupa nilai bilangan bulat positif.
15
(kecuali yolov5: 30)
training_batch_size Ukuran batch pelatihan.
Harus berupa nilai bilangan bulat positif.
Multi-kelas/multi-label: 78
(kecuali varian vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Deteksi objek: 2
(kecuali yolov5: 16)

Segmentasi instans: 2

Catatan: Default adalah ukuran batch terbesar yang dapat digunakan pada memori GPU 12 GiB.
validation_batch_size Ukuran batch validasi.
Harus berupa nilai bilangan bulat positif.
Multi-kelas/multi-label: 78
(kecuali varian vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Deteksi objek: 1
(kecuali yolov5: 16)

Segmentasi instans: 1

Catatan: Default adalah ukuran batch terbesar yang dapat digunakan pada memori GPU 12 GiB.
gradient_accumulation_step Akumulasi gradien berarti menjalankan jumlah gradient_accumulation_step yang dikonfigurasi tanpa memperbarui bobot model sambil mengakumulasi gradien dari langkah-langkah tersebut, dan kemudian menggunakan gradien akumulasi untuk menghitung pembaruan berat.
Harus berupa nilai bilangan bulat positif.
1
early_stopping Aktifkan logika berhenti awal selama pelatihan.
Harus 0 atau 1.
1
early_stopping_patience Jumlah minimum epoch atau evaluasi validasi dengan
tidak ada perbaikan metrik utama sebelum eksekusi dihentikan.
Harus berupa nilai bilangan bulat positif.
5
early_stopping_delay Jumlah minimum epoch atau evaluasi validasi untuk ditunggu
sebelum perbaikan metrik utama dilacak untuk penghentian awal.
Harus berupa nilai bilangan bulat positif.
5
learning_rate Tingkat pembelajaran awal.
Harus berupa float dalam rentang [0, 1].
Multi-kelas: 0,01
(kecuali varian vit:
vits16r224: 0,0125
vitb16r224: 0,0125
vitl16r224: 0,001)

Multi-label: 0,035
(kecuali varian vit:
vits16r224: 0,025
vitb16r224: 0,025
vitl16r224: 0,002)

Deteksi objek: 0,005
(kecuali yolov5: 0,01)

Segmentasi instans: 0,005
learning_rate_scheduler Jenis penjadwal tingkat pembelajaran.
Harus warmup_cosine atau step.
warmup_cosine
step_lr_gamma Nilai gamma saat penjadwal tingkat pembelajaran adalah step.
Harus berupa float dalam rentang [0, 1].
0,5
step_lr_step_size Nilai ukuran langkah saat penjadwal tingkat pembelajaran adalah step.
Harus berupa nilai bilangan bulat positif.
5
warmup_cosine_lr_cycles Nilai siklus kosinus saat penjadwal tingkat pembelajaran adalah warmup_cosine.
Harus berupa float dalam rentang [0, 1].
0.45
warmup_cosine_lr_warmup_epochs Nilai epoch pemanasan saat penjadwal tingkat pembelajaran adalah warmup_cosine.
Harus berupa nilai bilangan bulat positif.
2
optimizer Jenis pengoptimal.
Harus di antara sgd, adam, adamw.
sgd
momentum Nilai momentum saat pengoptimal adalah sgd.
Harus berupa float dalam rentang [0, 1].
0.9
weight_decay Nilai peluruhan berat ketika pengoptimal adalah sgd, adam, atau adamw.
Harus berupa float dalam rentang [0, 1].
1e-4
nesterov Aktifkan nesterov saat pengoptimal sgd.
Harus 0 atau 1.
1
beta1 Nilai beta1 saat pengoptimal adalah adam atau adamw.
Harus berupa float dalam rentang [0, 1].
0.9
beta2 Nilai beta2 saat pengoptimal adalah adam atau adamw.
Harus berupa float dalam rentang [0, 1].
0,999
ams_gradient Aktifkan ams_gradient saat pengoptimal adam atau adamw.
Harus 0 atau 1.
0
evaluation_frequency Frekuensi untuk mengevaluasi himpunan data validasi untuk mendapatkan skor metrik.
Harus berupa nilai bilangan bulat positif.
1
checkpoint_frequency Frekuensi untuk menyimpan titik pemeriksaan model.
Harus berupa nilai bilangan bulat positif.
Titik pemeriksaan pada epoch dengan metrik utama terbaik pada validasi.
checkpoint_run_id ID eksekusi alur percobaan yang memiliki titik pemeriksaan prapelatihan untuk pelatihan bertambah bertahap. tidak ada default
layers_to_freeze Berapa banyak lapisan yang harus dibekukan untuk model Anda. Misalnya, melewatkan 2 sebagai nilai untuk seresnext berarti membekukan layer0 dan layer1 yang mengacu pada info lapisan model yang didukung di bawah ini.
Harus berupa nilai bilangan bulat positif.

- 'resnet': [('conv1.', 'bn1.'), 'layer1.', 'layer2.', 'layer3.', 'layer4.']
- 'mobilenetv2': ['features.0.', 'features.1.', 'features.2.', 'features.3.', 'features.4.', 'features.5.', 'features.6.', 'features.7.', 'features.8.', 'features.9.', 'features.10.', 'features.11.', 'features.12.', 'features.13.', 'features.14.', 'features.15.', 'features.16.', 'features.17.', 'features.18.']
- 'seresnext': ['layer0.', 'layer1.', 'layer2.', 'layer3.', 'layer4.'] * 'vit': ['patch_embed', 'blocks.0.', 'blocks.1.', 'blocks.2.', 'blocks.3.', 'blocks.4.', 'blocks.5.', 'blocks.6.','blocks.7.', 'blocks.8.', 'blocks.9.', 'blocks.10.', 'blocks.11.'] * 'yolov5_backbone': ['model.0.', 'model.1.', 'model.2.', 'model.3.', 'model.4.','model.5.', 'model.6.', 'model.7.', 'model.8.', 'model.9.']
- 'resnet_backbone': ['backbone.body.conv1.', 'backbone.body.layer1.', 'backbone.body.layer2.','backbone.body.layer3.', 'backbone.body.layer4.']
tidak ada default

Hyperparameter spesifik klasifikasi citra (multi-kelas dan multi-label)

Tabel berikut merangkum hiperparmeter untuk tugas (multi-kelas dan multi-label) klasifikasi gambar.

Nama parameter Deskripsi Default
model_name Nama model yang akan digunakan untuk tugas klasifikasi gambar.

Harus salah satu dari mobilenetv2, , resnet18, resnet50resnet34, resnet101, resnet152, resnest50, resnest101, seresnext, , vits16r224, vitb16r224, . vitl16r224
seresnext
weighted_loss - 0 untuk tidak ada penurunan berat badan.
- 1 untuk penurunan tertimbang dengan sqrt. (class_weights)
- 2 untuk penurunan berat badan dengan class_weights.
- Harus 0 atau 1 atau 2.
0
validation_resize_size - Ukuran gambar untuk mengubah ukuran sebelum pemotongan untuk himpunan data validasi.
- Pasti bilangan bulat positif.

Catatan:
- seresnext tidak mengambil ukuran arbitrer.
- Pelatihan berjalan mungkin masuk ke CUDA OOM jika ukurannya terlalu besar
.
256
validation_crop_size - Ukuran pemangkasan gambar yang dimasukkan ke jaringan neural Anda untuk himpunan data validasi.
- Pasti bilangan bulat positif.

Catatan:
- seresnext tidak mengambil ukuran arbitrer.
- Varian ViT harus memiliki yang sama validation_crop_size dan training_crop_size.
- Pelatihan berjalan mungkin masuk ke CUDA OOM jika ukurannya terlalu besar
.
224
training_crop_size - Ukuran pemangkasan gambar yang dimasukkan ke jaringan neural Anda untuk melatih himpunan data.
- Pasti bilangan bulat positif.

Catatan:
- seresnext tidak mengambil ukuran arbitrer.
- Varian ViT harus memiliki yang sama validation_crop_size dan training_crop_size.
- Pelatihan berjalan mungkin masuk ke CUDA OOM jika ukurannya terlalu besar
.
224

Hyperparameter khusus tugas segmentasi instans dan deteksi objek

Hiperparameter berikut ialah untuk deteksi objek dan tugas segmentasi instans.

Peringatan

Parameter ini tidak didukung dengan yolov5 arsitektur. Lihat bagian hyperparameter khusus model untuk hyperparmeter yolov5 yang didukung.

Nama parameter Deskripsi Default
model_name Nama model yang akan digunakan untuk tugas klasifikasi gambar.
- Untuk tugas deteksi objek, harus salah satu dari yolov5, , fasterrcnn_resnet18_fpn, fasterrcnn_resnet34_fpnfasterrcnn_resnet50_fpn, fasterrcnn_resnet101_fpn, fasterrcnn_resnet152_fpn, retinanet_resnet50_fpn.
- Untuk tugas segmentasi instans, harus salah satu dari maskrcnn_resnet18_fpn, , maskrcnn_resnet50_fpnmaskrcnn_resnet34_fpn, maskrcnn_resnet101_fpn,maskrcnn_resnet152_fpn
- Untuk tugas deteksi objek, fasterrcnn_resnet50_fpn
- Untuk tugas segmentasi instans, maskrcnn_resnet50_fpn
validation_metric_type Metode komputasi metrik untuk digunakan untuk metrik validasi.
Harus none, coco, voc, atau coco_voc.
voc
validation_iou_threshold Ambang IOU untuk pencocokan kotak saat menghitung metrik validasi.
Harus berupa float dalam rentang [0.1, 1].
0.5
min_size Ukuran minimum gambar yang akan diskalakan ulang sebelum diberikan ke backbone.
Harus berupa nilai bilangan bulat positif.

Catatan: eksekusi pelatihan bisa masuk ke CUDA OOM jika ukurannya terlalu besar.
600
max_size Ukuran minimum gambar yang akan diskalakan ulang sebelum diberikan ke backbone.
Harus berupa nilai bilangan bulat positif.

Catatan: eksekusi pelatihan bisa masuk ke CUDA OOM jika ukurannya terlalu besar.
1333
box_score_threshold Selama inferensi, hanya proposal kembali dengan skor klasifikasi lebih besar dari box_score_threshold.
Harus berupa float dalam rentang [0, 1].
0.3
nms_iou_threshold Ambang IOU yang digunakan dalam penekanan non-maksimum (NMS) untuk kepala prediksi. Digunakan selama inferensi.
Harus berupa float dalam rentang [0, 1].
0,5
box_detections_per_image Jumlah maksimum deteksi per gambar, untuk semua kelas.
Harus berupa nilai bilangan bulat positif.
100
tile_grid_size Ukuran kisi yang akan digunakan untuk pemetakan setiap gambar.
- tile_grid_size tidak boleh Tidak Ada untuk mengaktifkan logika deteksi objek kecil .
- tile_grid_size tidak didukung untuk tugas segmentasi instans.
Harus diteruskan sebagai string dalam format '3x2'. Contoh: --tile_grid_size '3x2'
Tidak Ada Default
tile_overlap_ratio Tumpang tindih rasio antara petak yang berdekatan di tiap dimensi.
Harus berupa float dalam rentang [0, 1)
0.25
tile_predictions_nms_threshold Ambang IOU untuk digunakan untuk melakukan NMS sambil menggabungkan prediksi dari petak peta dan gambar. Digunakan dalam validasi/ inferensi.
Harus berupa float dalam rentang [0, 1]
0.25

Langkah berikutnya