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 : 128vitb16r224 : 48vitl16r224 :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 : 128vitb16r224 : 48vitl16r224 :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,0125vitb16r224 : 0,0125vitl16r224 : 0,001)Multi-label: 0,035 (kecuali varian vit: vits16r224 : 0,025vitb16r224 : 0,025vitl16r224 : 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 , resnet50 resnet34 , 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_fpn fasterrcnn_resnet50_fpn , fasterrcnn_resnet101_fpn , fasterrcnn_resnet152_fpn , retinanet_resnet50_fpn . - Untuk tugas segmentasi instans, harus salah satu dari maskrcnn_resnet18_fpn , , maskrcnn_resnet50_fpn maskrcnn_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 |