Hyperparametrar för uppgifter för visuellt innehåll i automatiserad maskininlärning
GÄLLER FÖR:Azure CLI ml-tillägg v2 (aktuellt)Python SDK azure-ai-ml v2 (aktuell)
Lär dig vilka hyperparametrar som är tillgängliga specifikt för uppgifter med visuellt innehåll i automatiserade ML-experiment.
Med stöd för uppgifter för visuellt innehåll kan du styra modellarkitekturen och rensa hyperparametrar. Dessa modellarkitekturer och hyperparametrar skickas in som parameterutrymme för svepet. Många av de exponerade hyperparametrarna är modellagnostiska, men det finns instanser där hyperparametrar är modellspecifika eller uppgiftsspecifika.
Modellspecifika hyperparametrar
Den här tabellen sammanfattar hyperparametrar som är specifika för arkitekturen yolov5
.
Parameternamn | Beskrivning | Standardvärde |
---|---|---|
validation_metric_type |
Måttberäkningsmetod som ska användas för valideringsmått. Måste vara none , coco , voc eller coco_voc . |
voc |
validation_iou_threshold |
IOU-tröskelvärde för boxmatchning vid beräkning av valideringsmått. Måste vara ett flyttal i intervallet [0.1, 1]. |
0,5 |
image_size |
Bildstorlek för träning och validering. Måste vara ett positivt heltal. Obs! Träningskörningen kan hamna i CUDA OOM om storleken är för stor. |
640 |
model_size |
Modellstorlek. Måste vara small , medium , large eller extra_large . Obs! Träningskörningen kan hamna i CUDA OOM om modellstorleken är för stor. |
medium |
multi_scale |
Aktivera flerskalig bild genom att variera bildstorleken med +/- 50 % Måste vara 0 eller 1. Obs! Träningskörning kan komma in i CUDA OOM om det inte finns tillräckligt med GPU-minne. |
0 |
box_score_threshold |
Under slutsatsdragning returnerar du bara förslag med en poäng som är större än box_score_threshold . Poängen är multiplikationen av objektitetspoängen och klassificeringssannolikheten. Måste vara ett flyttal i intervallet [0, 1]. |
0.1 |
nms_iou_threshold |
Tröskelvärde för organisationsenhet som används vid slutsatsdragning vid icke-maximal undertryckning efter bearbetning. Måste vara ett flyttal i intervallet [0, 1]. |
0,5 |
tile_grid_size |
Rutnätsstorleken som ska användas för att sida vid sida med varje bild. Obs! tile_grid_size får inte vara Ingen för att aktivera logik för identifiering av små objekt Ska skickas som en sträng i formatet "3x2". Exempel: --tile_grid_size '3x2' |
Inget standardvärde |
tile_overlap_ratio |
Överlappande förhållande mellan intilliggande paneler i varje dimension. Måste vara flytande i intervallet [0, 1) |
0,25 |
tile_predictions_nms_threshold |
Tröskelvärdet för IOU som ska användas för att utföra NMS vid sammanslagning av förutsägelser från paneler och bilder. Används i validering/slutsatsdragning. Måste vara flytande i intervallet [0, 1] |
0,25 |
Den här tabellen sammanfattar hyperparametrar som är specifika maskrcnn_*
för instanssegmenteringen under slutsatsdragning.
Parameternamn | Beskrivning | Standardvärde |
---|---|---|
mask_pixel_score_threshold |
Poäng cutoff för att överväga en pixel som en del av masken för ett objekt. | 0,5 |
max_number_of_polygon_points |
Maximalt antal (x, y) koordinatpar i polygon efter konvertering från en mask. | 100 |
export_as_image |
Exportera masker som bilder. | Falskt |
image_type |
Typ av bild som masken ska exporteras som (alternativen är jpg, png, bmp). | JPG |
Modellagnostiska hyperparametrar
I följande tabell beskrivs de hyperparametrar som är modellagnostiska.
Parameternamn | Beskrivning | Standardvärde |
---|---|---|
number_of_epochs |
Antal träningsepoker. Måste vara ett positivt heltal. |
15 (utom yolov5 : 30) |
training_batch_size |
Träningsbatchstorlek. Måste vara ett positivt heltal. |
Flera klasser/flera etiketter: 78 (utom vit-varianter: vits16r224 : 128vitb16r224 : 48vitl16r224 :10)Objektidentifiering: 2 (utom yolov5 : 16)Instanssegmentering: 2 Obs! Standardinställningarna är den största batchstorleken som kan användas på 12 GiB GPU-minne. |
validation_batch_size |
Batchstorlek för validering. Måste vara ett positivt heltal. |
Flera klasser/flera etiketter: 78 (utom vit-varianter: vits16r224 : 128vitb16r224 : 48vitl16r224 :10)Objektidentifiering: 1 (utom yolov5 : 16)Instanssegmentering: 1 Obs! Standardinställningarna är den största batchstorleken som kan användas på 12 GiB GPU-minne. |
gradient_accumulation_step |
Toningsansamling innebär att du kör ett konfigurerat antal gradient_accumulation_step utan att uppdatera modellvikterna samtidigt som toningarna i dessa steg ackumuleras och sedan använder de ackumulerade toningarna för att beräkna viktuppdateringarna. Måste vara ett positivt heltal. |
1 |
early_stopping |
Aktivera tidig stopplogik under träningen. Måste vara 0 eller 1. |
1 |
early_stopping_patience |
Minsta antal epoker eller valideringsutvärderingar med ingen primär måttförbättring innan körningen stoppas. Måste vara ett positivt heltal. |
5 |
early_stopping_delay |
Minsta antal epoker eller valideringsutvärderingar som ska vänta innan den primära måttförbättringen spåras för tidig stoppning. Måste vara ett positivt heltal. |
5 |
learning_rate |
Inledande inlärningstakt. Måste vara en flottör i intervallet [0, 1]. |
Flera klasser: 0,01 (utom vit-varianter: vits16r224 : 0.0125vitb16r224 : 0.0125vitl16r224 : 0.001)Flera etiketter: 0.035 (utom vit-varianter: vits16r224 : 0.025vitb16r224 : 0.025vitl16r224 : 0.002)Objektidentifiering: 0,005 (utom yolov5 : 0,01)Instanssegmentering: 0,005 |
learning_rate_scheduler |
Typ av schemaläggare för inlärningsfrekvens. Måste vara warmup_cosine eller step . |
warmup_cosine |
step_lr_gamma |
Värdet för gamma när schemaläggaren för inlärningsfrekvens är step .Måste vara en flottör i intervallet [0, 1]. |
0,5 |
step_lr_step_size |
Värdet för stegstorlek när schemaläggaren för inlärningsfrekvens är step .Måste vara ett positivt heltal. |
5 |
warmup_cosine_lr_cycles |
Värdet för cosinincykeln när schemaläggaren för inlärningsfrekvens är warmup_cosine . Måste vara en flottör i intervallet [0, 1]. |
0,45 |
warmup_cosine_lr_warmup_epochs |
Värdet för uppvärmningsepoker när schemaläggaren för inlärningsfrekvens är warmup_cosine . Måste vara ett positivt heltal. |
2 |
optimizer |
Typ av optimerare. Måste vara antingen sgd , adam , adamw . |
sgd |
momentum |
Värdet för momentum när optimizern är sgd . Måste vara en flottör i intervallet [0, 1]. |
0,9 |
weight_decay |
Värdet för viktförfall när optimizern är sgd , adam eller adamw . Måste vara en flottör i intervallet [0, 1]. |
1e-4 |
nesterov |
Aktivera nesterov när optimizer är sgd . Måste vara 0 eller 1. |
1 |
beta1 |
Värdet för beta1 när optimizern är adam eller adamw . Måste vara en flottör i intervallet [0, 1]. |
0,9 |
beta2 |
Värdet för beta2 när optimizern är adam eller adamw .Måste vara en flottör i intervallet [0, 1]. |
0.999 |
ams_gradient |
Aktivera ams_gradient när optimizer är adam eller adamw .Måste vara 0 eller 1. |
0 |
evaluation_frequency |
Frekvens för att utvärdera valideringsdatauppsättningen för att få måttpoäng. Måste vara ett positivt heltal. |
1 |
checkpoint_frequency |
Frekvens för att lagra modellkontrollpunkter. Måste vara ett positivt heltal. |
Kontrollpunkt vid epok med bästa primära mått vid validering. |
checkpoint_run_id |
Körnings-ID för experimentet som har en förtränad kontrollpunkt för inkrementell träning. | ingen standard |
layers_to_freeze |
Hur många lager som ska frysas för din modell. Om du till exempel skickar 2 som värde för seresnext innebär det fryslager0 och lager1 som refererar till nedanstående modelllagerinformation som stöds. Måste vara ett positivt heltal. - '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.'] |
ingen standard |
Bildklassificering (flera klasser och flera etiketter) specifika hyperparametrar
I följande tabell sammanfattas hyperparmetrar för bildklassificeringsuppgifter (flera klasser och flera etiketter).
Parameternamn | Beskrivning | Standardvärde |
---|---|---|
model_name |
Modellnamn som ska användas för bildklassificeringsaktivitet till hands. Måste vara en av mobilenetv2 , resnet18 , resnet34 , resnet50 , resnet101 , resnet152 , resnest50 , resnest101 , , seresnext , vits16r224 , vitb16r224 . vitl16r224 |
seresnext |
weighted_loss |
- 0 för ingen viktad förlust. - 1 för viktad förlust med kvadrt. (class_weights) - 2 för viktad förlust med class_weights. - Måste vara 0, 1 eller 2. |
0 |
validation_resize_size |
– Bildstorlek som du vill ändra storlek på innan du beskär för valideringsdatauppsättningen. - Måste vara ett positivt heltal. Anteckningar: - seresnext tar inte en godtycklig storlek. – Träningskörningen kan komma in i CUDA OOM om storleken är för stor. |
256 |
validation_crop_size |
– Bildgrödstorlek som är indata till ditt neurala nätverk för valideringsdatauppsättning. - Måste vara ett positivt heltal. Anteckningar: - seresnext tar inte en godtycklig storlek. - ViT-varianter bör ha samma validation_crop_size och training_crop_size . – Träningskörningen kan komma in i CUDA OOM om storleken är för stor. |
224 |
training_crop_size |
– Bildgrödstorlek som är indata till ditt neurala nätverk för att träna datamängd. - Måste vara ett positivt heltal. Anteckningar: - seresnext tar inte en godtycklig storlek. - ViT-varianter bör ha samma validation_crop_size och training_crop_size . – Träningskörningen kan komma in i CUDA OOM om storleken är för stor. |
224 |
Objektidentifiering och instanssegmenteringsaktivitetsspecifika hyperparametrar
Följande hyperparametrar är för objektidentifiering och instanssegmenteringsuppgifter.
Varning
Dessa parametrar stöds inte med arkitekturen yolov5
. Se avsnittet modellspecifika hyperparametrar för yolov5
hyperparametrar som stöds.
Parameternamn | Beskrivning | Standardvärde |
---|---|---|
model_name |
Modellnamn som ska användas för bildklassificeringsuppgift. - För objektidentifieringsaktivitet måste vara en av yolov5 , fasterrcnn_resnet18_fpn , fasterrcnn_resnet34_fpn , fasterrcnn_resnet50_fpn , fasterrcnn_resnet101_fpn , fasterrcnn_resnet152_fpn , , retinanet_resnet50_fpn . – För instanssegmenteringsaktivitet måste vara en av maskrcnn_resnet18_fpn , maskrcnn_resnet34_fpn , maskrcnn_resnet50_fpn , maskrcnn_resnet101_fpn , , maskrcnn_resnet152_fpn |
- För objektidentifieringsaktivitet, fasterrcnn_resnet50_fpn – Till exempel segmenteringsaktivitet, maskrcnn_resnet50_fpn |
validation_metric_type |
Måttberäkningsmetod som ska användas för valideringsmått. Måste vara none , coco , voc eller coco_voc . |
voc |
validation_iou_threshold |
IOU-tröskelvärde för boxmatchning vid beräkning av valideringsmått. Måste vara ett flyttal i intervallet [0.1, 1]. |
0,5 |
min_size |
Minsta storlek på bilden som ska skalas om innan den matas till stamnätet. Måste vara ett positivt heltal. Obs! Träningskörningen kan hamna i CUDA OOM om storleken är för stor. |
600 |
max_size |
Maximal storlek på bilden som ska skalas om innan den matas till stamnätet. Måste vara ett positivt heltal. Obs! Träningskörningen kan hamna i CUDA OOM om storleken är för stor. |
1333 |
box_score_threshold |
Under slutsatsdragningen returnerar du bara förslag med en klassificeringspoäng som är större än box_score_threshold . Måste vara ett flyttal i intervallet [0, 1]. |
0.3 |
nms_iou_threshold |
Tröskelvärde för IOU (skärningspunkt över union) som används i nms (non-maximum suppression) för förutsägelsehuvudet. Används under slutsatsdragning. Måste vara ett flyttal i intervallet [0, 1]. |
0,5 |
box_detections_per_image |
Maximalt antal identifieringar per bild för alla klasser. Måste vara ett positivt heltal. |
100 |
tile_grid_size |
Rutnätsstorleken som ska användas för att sida vid sida med varje bild. - tile_grid_size får inte vara Ingen för att aktivera logik för identifiering av små objekt .- tile_grid_size stöds inte för instanssegmenteringsuppgifter.Ska skickas som en sträng i formatet "3x2". Exempel: --tile_grid_size '3x2' |
Inget standardvärde |
tile_overlap_ratio |
Överlappande förhållande mellan intilliggande paneler i varje dimension. Måste vara flytande i intervallet [0, 1) |
0,25 |
tile_predictions_nms_threshold |
Tröskelvärdet för IOU som ska användas för att utföra NMS vid sammanslagning av förutsägelser från paneler och bilder. Används i validering/slutsatsdragning. Måste vara flytande i intervallet [0, 1] |
0,25 |