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 , voc coco , 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 , large medium , 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 : 128vitb16r224 : 48vitl16r224 :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 : 128vitb16r224 : 48vitl16r224 :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.0125vitb16r224 : 0.0125vitl16r224 : 0.001)Více popisků: 0,035 (s výjimkou variant vit: vits16r224 : 0.025vitb16r224 : 0.025vitl16r224 : 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 , sgd adam , . 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 , adam nebo adamw . Musí být float v rozsahu [0, 1]. |
1e-4 |
nesterov |
Povolte nesterov , když je sgd optimalizá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 , resnet18 mobilenetv2 , resnet34 , resnet50 , resnet101 , resnet152 resnest50 , 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_fpn fasterrcnn_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_fpn maskrcnn_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 , voc coco , 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 |