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í)
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í.
S podporou úloh počítačového zpracování obrazu můžete řídit architekturu modelu a uklidit hyperparametry. Tyto architektury 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 architekturu yolov5
.
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 , voc nebo 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 |
image_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 , large nebo extra_large . 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_threshold |
Při odvození vrátí pouze návrhy se skóre větším než box_score_threshold . 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_threshold |
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ů. Měla by být předána 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 každé dimenzi Musí být plovoucí 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é 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. |
gradient_accumulation_step |
Akumulace přechodu znamená spuštění nakonfigurovaného počtu gradient_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.0125vitb16r224 : 0.0125vitl16r224 : 0.001) Více štítků: 0,035 (kromě variant vit-variant: vits16r224 : 0.025vitb16r224 : 0.025 vitl16r224 : 0.002) Detekce objektů: 0.005 (s výjimkou yolov5 : 0.01) Segmentace instancí: 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 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 sgd optimalizátor . Musí to být plovák v rozsahu [0, 1]. |
0,9 |
weight_decay |
Hodnota hmotnosti se rozpadne, pokud je sgd optimalizátor , adam nebo adamw . Musí to být plovák v rozsahu [0, 1]. |
1e-4 |
nesterov |
Povolte nesterov , pokud je sgd optimalizá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 |
ams_gradient |
Povolte 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í 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í |
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.'] : ['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' * 'vit' ['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í |
---|---|---|
model_name |
Název modelu, který se má použít pro úlohu klasifikace obrázků. Musí být jedním z mobilenetv2 , resnet18 , , resnet34 , resnet50 , resnet152 seresnext resnest50 resnet101 resnest101 , vits16r224 , , vitb16r224 . . vitl16r224 |
seresnext |
weighted_loss |
- 0 pro žádnou váženou ztrátu. - 1 pro váženou ztrátu sqrt. (class_weights) - 2 pro hubnutí s class_weights. - Musí být 0 nebo 1 nebo 2. |
0 |
validation_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 |
validation_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é validation_crop_size a training_crop_size . - Trénovací běh se může dostat do CUDA OOM, pokud je velikost příliš velká. |
224 |
training_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é validation_crop_size a training_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 v architektuře yolov5
. Informace o podporovaných hyperparmetrech najdete v části specifické pro yolov5
konkrétní model.
Název parametru | Popis | 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 yolov5 , , fasterrcnn_resnet18_fpn fasterrcnn_resnet34_fpn , fasterrcnn_resnet50_fpn , , fasterrcnn_resnet101_fpn , , fasterrcnn_resnet152_fpn . retinanet_resnet50_fpn . - Například úkol segmentace musí být jedním z maskrcnn_resnet18_fpn , maskrcnn_resnet34_fpn , maskrcnn_resnet50_fpn , , maskrcnn_resnet101_fpn maskrcnn_resnet152_fpn |
- Pro úlohu detekce objektů, fasterrcnn_resnet50_fpn - Například úkol segmentace, maskrcnn_resnet50_fpn |
validation_metric_type |
Metoda výpočtů metrik, která se má použít pro ověřovací metriky. Musí být none , coco , voc nebo 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_threshold |
Při odvozování vrátí pouze návrhy s vyšším skóre klasifikace než box_score_threshold . Musí to být plovák v rozsahu [0, 1]. |
0.3 |
nms_iou_threshold |
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_image |
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ů. - tile_grid_size nesmí být žádná, aby bylo možné povolit logiku detekce malých objektů.- tile_grid_size pro úlohy segmentace instance se nepodporuje.Měla by být předána 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 každé dimenzi Musí být plovoucí 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 |