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

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Sada Python SDK azure-ai-ml v2 (aktuální)

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í.

Díky podpoře úloh počítačového zpracování obrazu můžete řídit architekturu modelu a uklidit hyperparametry. Tyto architektury modelů a hyperparametry se předávají jako prostor parametrů pro úklid. I když jsou mnohé z vystavených hyperparametrů nezávislé na modelu, existují případy, kdy jsou hyperparametry specifické pro model nebo úkol.

Hyperparametry specifické pro model

Tato tabulka shrnuje hyperparametry specifické pro danou architekturu yolov5 .

Název parametru Description Výchozí
validation_metric_type Metoda výpočtu metrik, která se má použít pro ověřovací metriky.
Musí to být none, voccoco, nebo coco_voc.
voc
validation_iou_threshold Prahová hodnota IOU pro párování polí při výpočtu metrik ověřování
Musí být float v rozsahu [0,1, 1].
0,5
image_size Velikost obrázku pro trénování a ověřování
Musí 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í to být small, largemedium, nebo extra_large.

Poznámka: Trénovací běh se může dostat do OOM CUDA, pokud je velikost modelu příliš velká.
medium
multi_scale Povolení vícešálového obrázku 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 OOM CUDA, pokud není dostatek paměti GPU.
0
box_score_threshold Během odvozováním vrací pouze návrhy se skóre větším než box_score_threshold. Skóre je násobení skóre objektnosti a pravděpodobnosti klasifikace.
Musí být float v rozsahu [0, 1].
0.1
nms_iou_threshold Prahová hodnota IOU použitá při odvozování při ne maximálním potlačení po zpracování.
Musí být float v rozsahu [0, 1].
0,5
tile_grid_size Velikost mřížky, která se má použít pro dlaždici jednotlivých obrázků.
Poznámka: Pokud chcete povolit logiku detekce malých objektů , nesmí být tile_grid_size Žádný.
Měl by být předán jako řetězec ve formátu "3x2". Příklad: --tile_grid_size 3x2
Bez výchozího nastavení
tile_overlap_ratio Poměr překrytí mezi sousedními dlaždicemi v jednotlivých dimenzích
Musí být float v rozsahu [0, 1)
0,25
tile_predictions_nms_threshold 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é maskrcnn_* pro segmentaci instancí během odvozování.

Název parametru Description Výchozí
mask_pixel_score_threshold Vyhodnotejte bod 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 Exportujte masky jako obrázky. Ne
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 Description Výchozí
number_of_epochs Počet epoch trénování
Musí být kladné celé číslo.
15
(kromě yolov5: 30)
training_batch_size Velikost trénovací dávky.
Musí být kladné celé číslo.
Vícetřídní/vícenásobný popisek: 78
(s výjimkou variant vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Detekce objektů: 2
(kromě yolov5: 16)

Segmentace instancí: 2

Poznámka: Výchozí hodnoty jsou největší velikost dávky, kterou je možné použít na 12 GiB paměti GPU.
validation_batch_size Velikost dávky ověření.
Musí být kladné celé číslo.
Vícetřídní/vícenásobný popisek: 78
(s výjimkou variant vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Detekce objektů: 1
(kromě yolov5: 16)

Segmentace instancí: 1

Poznámka: Výchozí hodnoty jsou největší velikost dávky, kterou je možné použít na 12 GiB paměti GPU.
gradient_accumulation_step Gradientní akumulace znamená spuštění nakonfigurovaného gradient_accumulation_step počtu bez aktualizace hmotností modelu při shromažďování přechodů těchto kroků a následné použití nahromaděných přechodů k výpočtu aktualizací hmotnosti.
Musí být kladné celé číslo.
1
early_stopping Povolte logiku předčasného zastavení během trénování.
Musí být 0 nebo 1.
1
early_stopping_patience Minimální počet epoch nebo ověřovacích hodnocení s
před zastavením spuštění nedojde k žádnému vylepšení primární metriky.
Musí být kladné celé číslo.
5
early_stopping_delay Minimální počet epoch nebo vyhodnocení ověření, která se mají čekat
před sledováním zlepšení primární metriky pro předčasné zastavení.
Musí být kladné celé číslo.
5
learning_rate Počáteční rychlost učení.
Musí být float v rozsahu [0, 1].
Více tříd: 0,01
(s výjimkou variant vit:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Více popisků: 0,035
(s výjimkou variant vit:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Detekce objektů: 0,005
(kromě yolov5: 0.01)

Segmentace instance: 0,005
learning_rate_scheduler Typ plánovače rychlosti učení
Musí být warmup_cosine nebo step.
warmup_cosine
step_lr_gamma Hodnota gama při plánovači rychlosti učení je step.
Musí být float v rozsahu [0, 1].
0,5
step_lr_step_size Hodnota velikosti kroku při plánovači rychlosti učení je step.
Musí být kladné celé číslo.
5
warmup_cosine_lr_cycles Hodnota kosinusového cyklu při plánovači rychlosti učení je warmup_cosine.
Musí být float v rozsahu [0, 1].
0,45
warmup_cosine_lr_warmup_epochs Hodnota zahřívacích epoch při učení plánovače rychlosti je warmup_cosine.
Musí být kladné celé číslo.
2
optimizer Typ optimalizátoru
Musí být , sgdadam, . adamw
sgd
momentum Hodnota dynamiky při optimalizaci je sgd.
Musí být float v rozsahu [0, 1].
0,9
weight_decay Hodnota poklesu hmotnosti při optimalizátoru je sgd, adamnebo adamw.
Musí být float v rozsahu [0, 1].
1e-4
nesterov Povolte nesterov , když je sgdoptimalizátor .
Musí být 0 nebo 1.
1
beta1 Hodnota, beta1 pokud je adam optimalizátor nebo adamw.
Musí být float v rozsahu [0, 1].
0,9
beta2 Hodnota, beta2 pokud je adam optimalizátor nebo adamw.
Musí být float v rozsahu [0, 1].
0.999
ams_gradient Povolit ams_gradient , 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í být kladné celé číslo.
1
checkpoint_frequency Frekvence ukládání kontrolních bodů modelu
Musí být kladné celé číslo.
Kontrolní bod v epoche s nejlepší primární metrikou pro ověření.
checkpoint_run_id ID spuštění experimentu, který má předem vytrénovaný kontrolní bod pro přírůstkové trénování. žádné výchozí nastavení
layers_to_freeze Kolik vrstev se má u modelu ukotvit. Například předání hodnoty 2 jako hodnoty znamená seresnext zamrznutí vrstvy 0 a vrstvy 1 s odkazem na níže uvedené informace o podporovaných vrstvách modelu.
Musí 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.']
žádné výchozí nastavení

Hyperparametry specifické pro klasifikaci obrázků (s více třídami a více popisky)

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

Název parametru Description Výchozí
model_name Název modelu, který se má použít pro úlohu klasifikace obrázků.

Musí být jedna z , resnet18mobilenetv2, resnet34, resnet50, resnet101, resnet152resnest50, resnest101, , seresnext, , vits16r224, vitb16r224. vitl16r224
seresnext
weighted_loss - 0 pro žádné hubnutí.
- 1 pro hubnutí sqrt. (class_weights)
- 2 pro hubnutí s class_weights.
- Musí být 0, 1 nebo 2.
0
validation_resize_size – Velikost obrázku, na kterou se má změnit velikost před oříznutím pro účely ověření datové sady.
- Musí být kladné celé číslo.

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

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

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

Hyperparametry specifické pro úlohu detekce objektů a segmentace instancí

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

Upozornění

Architektura tyto parametry nepodporuje yolov5 . Podporované hyperparmetry najdete v části hyperparametry specifické pro yolov5 model.

Název parametru Description Výchozí
model_name Název modelu, který se má použít pro úlohu klasifikace obrázků.
– Pro úlohu detekce objektů musí být jedna z hodnot yolov5, fasterrcnn_resnet18_fpnfasterrcnn_resnet34_fpn, , fasterrcnn_resnet50_fpn, fasterrcnn_resnet101_fpn, , fasterrcnn_resnet152_fpn, . retinanet_resnet50_fpn
– Pro úlohu segmentace instance musí být jedna z hodnot maskrcnn_resnet18_fpn, maskrcnn_resnet34_fpn, maskrcnn_resnet50_fpn, , , maskrcnn_resnet101_fpnmaskrcnn_resnet152_fpn
– Pro úlohu detekce objektů: fasterrcnn_resnet50_fpn
– Pro úlohu segmentace instancí: maskrcnn_resnet50_fpn
validation_metric_type Metoda výpočtu metrik, která se má použít pro ověřovací metriky.
Musí to být none, voccoco, nebo coco_voc.
voc
validation_iou_threshold Prahová hodnota IOU pro párování polí při výpočtu metrik ověřování
Musí být float v rozsahu [0,1, 1].
0,5
min_size Minimální velikost image, která se má změnit na měřítko před tím, než ho nasdílíte do páteřní sítě.
Musí 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ý má být před odesláním do páteřní sítě přeškálován.
Musí 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_threshold Během odvozováním vrací pouze návrhy se skóre klasifikace vyšším než box_score_threshold.
Musí být float v rozsahu [0, 1].
0.3
nms_iou_threshold Prahová hodnota IOU (průnik nad sjednocením) používaná při ne maximálním potlačení (NMS) pro hlavu predikce. Používá se během odvozováním.
Musí být float v rozsahu [0, 1].
0,5
box_detections_per_image Maximální počet detekcí na obrázek pro všechny třídy
Musí být kladné celé číslo.
100
tile_grid_size Velikost mřížky, která se má použít pro dlaždici jednotlivých obrázků.
- tile_grid_size Pokud chcete povolit logiku detekce malých objektů , nesmí být žádný.
- tile_grid_size se nepodporuje pro úlohy segmentace instancí.
Měl by být předán jako řetězec ve formátu "3x2". Příklad: --tile_grid_size 3x2
Bez výchozího nastavení
tile_overlap_ratio Poměr překrytí mezi sousedními dlaždicemi v jednotlivých dimenzích
Musí být float v rozsahu [0, 1)
0,25
tile_predictions_nms_threshold 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