Hyperparametry pro úlohy počítačového zpracování obrazu v automatizovaném strojovém učení (v1)

PLATÍ PRO:Python SDK azureml v1

Zjistěte, které hyperparametry jsou k dispozici speciálně pro úlohy počítačového zpracování obrazu v experimentech automatizovaného strojového učení.

S podporou úloh počítačového zpracování obrazu můžete řídit algoritmus modelu a uklidit hyperparametry. Tyto algoritmy modelu a hyperparametry se předávají jako prostor parametrů pro úklid. Zatímco mnoho vystavených hyperparametrů je nezávislé na modelu, existují instance, ve kterých jsou hyperparametry specifické pro model nebo úlohu.

Hyperparametry specifické pro model

Tato tabulka shrnuje hyperparametry specifické pro yolov5 algoritmus.

Název parametru Popis Výchozí
validation_metric_type Metoda výpočtů metrik, která se má použít pro ověřovací metriky.
Musí být none, coco, vocnebo coco_voc.
voc
validation_iou_threshold Prahová hodnota IOU pro porovnávání krabic při výpočetních metrikách ověřování
Musí být plovoucí v rozsahu [0,1, 1].
0.5
img_size Velikost obrázku pro trénování a ověření
Musí to být kladné celé číslo.

Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
640
model_size Velikost modelu
Musí být small, medium, largenebo xlarge.

Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost modelu příliš velká.
medium
multi_scale Povolení vícenásobných imagí s různou velikostí obrázku o +/- 50 %
Musí být 0 nebo 1.

Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud není dostatek paměti GPU.
0
box_score_thresh Při odvození vrátí pouze návrhy se skóre větším než box_score_thresh. Skóre je násobení skóre objektů a pravděpodobnosti klasifikace.
Musí to být plovák v rozsahu [0, 1].
0,1
nms_iou_thresh Prahová hodnota IOU použitá při odvozování v ne maximálním potlačení po zpracování.
Musí to být plovák v rozsahu [0, 1].
0.5
tile_grid_size Velikost mřížky, která se má použít pro provazování jednotlivých obrázků.
Poznámka: tile_grid_size nesmí být žádná, aby bylo možné povolit logiku detekce malých objektů.
Řazená kolekce dvou celých čísel předaných jako řetězec. Příklad: --tile_grid_size "(3; 2)"
Bez výchozího nastavení
tile_overlap_ratio Poměr překrytí mezi sousedními dlaždicemi v každé dimenzi
Musí být plovoucí v rozsahu [0, 1)
0.25
tile_predictions_nms_thresh Prahová hodnota IOU, která se má použít k provádění NMS při slučování předpovědí z dlaždic a obrázků. Používá se při ověřování nebo odvozování.
Musí být plovoucí v rozsahu [0, 1]
0.25

Tato tabulka shrnuje hyperparametry specifické pro maskrcnn_* segmentaci instance během odvozování.

Název parametru Popis Výchozí
mask_pixel_score_threshold Určení skóre pro zvážení pixelu jako součásti masky objektu 0.5
max_number_of_polygon_points Maximální počet párů souřadnic (x, y) v mnohoúhelníku po převodu z masky 100
export_as_image Export masek jako obrázků False
image_type Typ obrázku pro export masky jako (možnosti jsou jpg, png, bmp). JPG

Hyperparametry nezávislé na modelu

Následující tabulka popisuje hyperparametry, které jsou nezávislé na modelu.

Název parametru Popis Výchozí
number_of_epochs Počet epoch trénování.
Musí to být kladné celé číslo.
15
(s výjimkou yolov5: 30)
training_batch_size Trénovací velikost dávky.
Musí to být kladné celé číslo.
Více tříd/ více popisků: 78
(kromě variant vit-variant:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Detekce objektů: 2
(s výjimkou yolov5: 16)

Segmentace instancí: 2

Poznámka: Výchozí hodnoty jsou největší velikost dávky, kterou lze použít v paměti GPU 12 GiB.
validation_batch_size Velikost dávky ověření.
Musí to být kladné celé číslo.
Více tříd/ více popisků: 78
(kromě variant vit-variant:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Detekce objektů: 1
(s výjimkou yolov5: 16)

Segmentace instancí: 1

Poznámka: Výchozí hodnoty jsou největší velikost dávky, kterou lze použít v paměti GPU 12 GiB.
grad_accumulation_step Akumulace přechodu znamená spuštění nakonfigurovaného počtu grad_accumulation_step bez aktualizace hmotnosti modelu při shromáždění přechodů těchto kroků a následné použití kumulovaných přechodů k výpočtu aktualizací hmotnosti.
Musí to být kladné celé číslo.
0
early_stopping Povolte logiku předčasného zastavení během trénování.
Musí být 0 nebo 1.
0
early_stopping_patience Minimální počet epoch nebo vyhodnocení ověření pomocí
před zastavením spuštění není žádné zlepšení primární metriky.
Musí to být kladné celé číslo.
5
early_stopping_delay Minimální počet epoch nebo vyhodnocení ověření, které se mají čekat
před počátečním zastavením se sleduje zlepšení primární metriky.
Musí to být kladné celé číslo.
5
learning_rate Počáteční rychlost učení.
Musí to být plovák v rozsahu [0, 1].
Více tříd: 0.01
(kromě variant vit-variant:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Více štítků: 0,035
(kromě variant vit-variant:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Detekce objektů: 0.005
(s výjimkou yolov5: 0.01)

Segmentace instancí: 0.005
lr_scheduler Typ plánovače rychlosti učení
Musí být warmup_cosine nebo step.
warmup_cosine
step_lr_gamma Hodnota gama při učení plánovače rychlosti je step.
Musí to být plovák v rozsahu [0, 1].
0.5
step_lr_step_size Hodnota velikosti kroku při plánování rychlosti učení je step.
Musí to být kladné celé číslo.
5
warmup_cosine_lr_cycles Hodnota kosinusového cyklu při plánování rychlosti učení je warmup_cosine.
Musí to být plovák v rozsahu [0, 1].
0,45
warmup_cosine_lr_warmup_epochs Hodnota epochy warmupu při učení plánovače rychlosti je warmup_cosine.
Musí to být kladné celé číslo.
2
optimizer Typ optimalizátoru
Musí být buď sgd, adam, adamw.
sgd
momentum Hodnota dynamiky, pokud je sgdoptimalizátor .
Musí to být plovák v rozsahu [0, 1].
0,9
weight_decay Hodnota hmotnosti se rozpadne, pokud je sgdoptimalizátor , adamnebo adamw.
Musí to být plovák v rozsahu [0, 1].
1e-4
nesterov Povolte nesterov , pokud je sgdoptimalizátor .
Musí být 0 nebo 1.
0
beta1 beta1 Hodnota, kdy je adam optimalizátor nebo adamw.
Musí to být plovák v rozsahu [0, 1].
0,9
beta2 beta2 Hodnota, kdy je adam optimalizátor nebo adamw.
Musí to být plovák v rozsahu [0, 1].
0,999
amsgrad Povolte amsgrad , pokud je adam optimalizátor nebo adamw.
Musí být 0 nebo 1.
0
evaluation_frequency Frekvence vyhodnocení ověřovací datové sady za účelem získání skóre metrik
Musí to být kladné celé číslo.
0
checkpoint_frequency Frekvence ukládání kontrolních bodů modelu
Musí to být kladné celé číslo.
Kontrolní bod na epochu s nejlepší primární metrikou při ověřování
checkpoint_run_id ID spuštění experimentu s předem natrénovaným kontrolním bodem pro přírůstkové trénování. bez výchozího nastavení
checkpoint_dataset_id ID FileDataset obsahující předem natrénované kontrolní body pro přírůstkové trénování. Nezapomeňte předat checkpoint_filename spolu s checkpoint_dataset_id. bez výchozího nastavení
checkpoint_filename Předem natrénovaný název souboru kontrolního bodu v FileDataset pro přírůstkové trénování. Nezapomeňte předat checkpoint_dataset_id spolu s checkpoint_filename. bez výchozího nastavení
layers_to_freeze Kolik vrstev se má u modelu ukotvit. Například předání hodnoty 2 jako hodnoty pro seresnext vrstvu ukotvení vrstvy0 a vrstvy1 odkazující na níže podporované informace o vrstvě modelu.
Musí to být kladné celé číslo.

'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.']
bez výchozího nastavení

Klasifikace obrázků (více tříd a více popisků) specifických hyperparametrů

Následující tabulka shrnuje hyperparmetry pro úlohy klasifikace obrázků (více tříd a více popisků).

Název parametru Popis Výchozí
weighted_loss 0 pro žádnou váženou ztrátu.
1 pro váženou ztrátu sqrtem. (class_weights)
2 pro váženou ztrátu s class_weights.
Musí být 0 nebo 1 nebo 2.
0
valid_resize_size
  • Velikost obrázku, na kterou se má změnit velikost před oříznutím pro ověřovací datovou sadu
  • Musí to být kladné celé číslo.

    Poznámky:
  • seresnext nemá libovolnou velikost.
  • Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
  • 256
    valid_crop_size
  • Velikost oříznutí obrázku, která je vstupní do neurální sítě pro ověřovací datovou sadu
  • Musí to být kladné celé číslo.

    Poznámky:
  • seresnext nemá libovolnou velikost.
  • Varianty ViT by měly mít stejné valid_crop_size a train_crop_size.
  • Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
  • 224
    train_crop_size
  • Velikost oříznutí obrázku, která je vstupní do neurální sítě pro trénování datové sady
  • Musí to být kladné celé číslo.

    Poznámky:
  • seresnext nemá libovolnou velikost.
  • Varianty ViT by měly mít stejné valid_crop_size a train_crop_size.
  • Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
  • 224

    Detekce objektů a segmentace instancí – úlohy specifické pro hyperparametry

    Následující hyperparametry jsou určené pro úlohy detekce objektů a segmentace instancí.

    Upozorňující

    Tyto parametry nejsou podporovány algoritmem yolov5 . Informace o podporovaných hyperparmetrech najdete v části specifické pro yolov5 konkrétní model.

    Název parametru Popis Výchozí
    validation_metric_type Metoda výpočtů metrik, která se má použít pro ověřovací metriky.
    Musí být none, coco, vocnebo coco_voc.
    voc
    validation_iou_threshold Prahová hodnota IOU pro porovnávání krabic při výpočetních metrikách ověřování
    Musí být plovoucí v rozsahu [0,1, 1].
    0.5
    min_size Minimální velikost obrázku, která se má před podáváním do páteřní sítě znovu škálovat.
    Musí to být kladné celé číslo.

    Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
    600
    max_size Maximální velikost obrázku, která se má znovu škálovat, než ho podáte do páteřní sítě.
    Musí to být kladné celé číslo.

    Poznámka: Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká.
    1333
    box_score_thresh Při odvozování vrátí pouze návrhy s vyšším skóre klasifikace než box_score_thresh.
    Musí to být plovák v rozsahu [0, 1].
    0.3
    nms_iou_thresh Prahová hodnota IOU (průsečík nad sjednocením) použitá v nevýznamné potlačení (NMS) pro predikční hlavu. Používá se při odvození.
    Musí to být plovák v rozsahu [0, 1].
    0.5
    box_detections_per_img Maximální počet detekcí na obrázek pro všechny třídy.
    Musí to být kladné celé číslo.
    100
    tile_grid_size Velikost mřížky, která se má použít pro provazování jednotlivých obrázků.
    Poznámka: tile_grid_size nesmí být žádná, aby bylo možné povolit logiku detekce malých objektů.
    Řazená kolekce dvou celých čísel předaných jako řetězec. Příklad: --tile_grid_size "(3; 2)"
    Bez výchozího nastavení
    tile_overlap_ratio Poměr překrytí mezi sousedními dlaždicemi v každé dimenzi
    Musí být plovoucí v rozsahu [0, 1)
    0.25
    tile_predictions_nms_thresh Prahová hodnota IOU, která se má použít k provádění NMS při slučování předpovědí z dlaždic a obrázků. Používá se při ověřování nebo odvozování.
    Musí být plovoucí v rozsahu [0, 1]
    0.25

    Další kroky