Hyperparameter untuk tugas visi komputer dalam pembelajaran mesin otomatis (v1)

BERLAKU UNTUK:SDK Python azureml v1

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

Dengan dukungan untuk tugas-tugas computer vision, Anda dapat mengontrol algoritma model dan membersihkan hiperparameter. Algoritma model dan hiperparameter ini diteruskan sebagai ruang parameter untuk pembersihan. 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 merangkum hiperparameter khusus untuk algoritma yolov5.

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
img_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 xlarge.

Catatan: eksekusi pelatihan mungkin masuk ke CUDA OOM jika ukuran modelnya terlalu besar.
medium
multi_scale Aktifkan gambar multiskala 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_thresh Selama inferensi, hanya proposal kembali dengan skor klasifikasi lebih besar dari box_score_thresh. Skor adalah perkalian skor objek dan probabilitas klasifikasi.
Harus berupa float dalam rentang [0, 1].
0.1
nms_iou_thresh 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 digunakan untuk pemetakan setiap gambar.
Catatan: tile_grid_size tidak boleh Tidak Ada untuk mengaktifkan logika deteksi objek kecil
Tuple dari dua bilangan bulat yang dilewatkan sebagai string. Contoh: --tile_grid_size "(3, 2)"
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_thresh 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. Salah
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 vit-varian:
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 vit-varian:
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.
grad_accumulation_step Akumulasi gradien berarti menjalankan jumlah grad_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 vit-varian:
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
lr_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
amsgrad Aktifkan amsgrad 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 percobaan yang memiliki titik pemeriksaan prapelatihan untuk pelatihan bertahap. no default
checkpoint_dataset_id ID FileDataset berisi titik pemeriksaan prapelatihan untuk pelatihan bertambah bertahap. Pastikan untuk meneruskan checkpoint_filename bersama dengan checkpoint_dataset_id. no default
checkpoint_filename Filename titik pemeriksaan yang telah dilatih sebelumnya di FileDataset untuk pelatihan bertambah bertahap. Pastikan untuk meneruskan checkpoint_dataset_id bersama dengan checkpoint_filename. no 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.']
no 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
weighted_loss 0 untuk tidak ada kehilangan tertimbang.
1 untuk penurunan tertimbang dengan sqrt. (class_weights)
2 untuk kehilangan tertimbang dengan class_weights.
Harus 0 atau 1 atau 2.
0
valid_resize_size
  • Ukuran gambar yang akan diubah ukurannya sebelum pemotongan untuk himpunan data validasi.
  • Harus berupa nilai bilangan bulat positif.

    Catatan:
  • seresnext tidak mengambil ukuran yang arbitrer.
  • Melatih eksekusi bisa masuk ke CUDA OOM jika ukurannya terlalu besar.
  • 256
    valid_crop_size
  • Ukuran potongan gambar yang dimasukkan ke jaringan neural Anda untuk himpunan data validasi.
  • Harus berupa nilai bilangan bulat positif.

    Catatan:
  • seresnext tidak mengambil ukuran yang arbitrer.
  • Varian ViT harus memiliki valid_crop_size dan train_crop_size yang sama.
  • Melatih eksekusi bisa masuk ke CUDA OOM jika ukurannya terlalu besar.
  • 224
    train_crop_size
  • Ukuran potongan gambar yang dimasukkan ke jaringan neural Anda untuk himpunan data latih.
  • Harus berupa nilai bilangan bulat positif.

    Catatan:
  • seresnext tidak mengambil ukuran yang arbitrer.
  • Varian ViT harus memiliki valid_crop_size dan train_crop_size yang sama.
  • Melatih eksekusi bisa 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 algoritma yolov5. Lihat bagian hyperparameter khusus model untuk hyperparmeter yolov5 yang didukung.

    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
    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_thresh Selama inferensi, hanya proposal kembali dengan skor klasifikasi lebih besar dari box_score_thresh.
    Harus berupa float dalam rentang [0, 1].
    0,3
    nms_iou_thresh 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_img Jumlah maksimum deteksi per gambar, untuk semua kelas.
    Harus berupa nilai bilangan bulat positif.
    100
    tile_grid_size Ukuran kisi yang digunakan untuk pemetakan setiap gambar.
    Catatan: tile_grid_size tidak boleh Tidak Ada untuk mengaktifkan logika deteksi objek kecil
    Tuple dari dua bilangan bulat yang dilewatkan sebagai string. Contoh: --tile_grid_size "(3, 2)"
    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_thresh 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