Hyperparametrar för uppgifter om visuellt innehåll i automatiserad maskininlärning
GÄLLER FÖR:Azure CLI ml extension v2 (current)
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 sopa hyperparametrar. Dessa modellarkitekturer och hyperparametrar skickas in som parameterutrymme för svepet. Många av de hyperparametrar som exponeras ä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 | Standard |
---|---|---|
validation_metric_type |
Beräkningsmetod för mått 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 en float 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örning kan komma in 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örning kan komma in i CUDA OOM om modellstorleken är för stor. |
medium |
multi_scale |
Aktivera flera skalningsbilder 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 slutsatsdragningen 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 en flottör i intervallet [0, 1]. |
0,1 |
nms_iou_threshold |
Tröskelvärde för IOU som används vid slutsatsdragning vid icke-maximal undertryckning efter bearbetning. Måste vara en flottör i intervallet [0, 1]. |
0,5 |
tile_grid_size |
Rutnätsstorleken som ska användas för att sida vid sida vid 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 |
Överlappningsfö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 instanssegmentering under slutsatsdragning.
Parameternamn | beskrivning | Standard |
---|---|---|
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 koordinatpar (x, y) i polygon efter konvertering från en mask. | 100 |
export_as_image |
Exportera masker som bilder. | Falsk |
image_type |
Typ av bild för att exportera mask som (alternativen är jpg, png, bmp). | JPG |
Modellagnostiska hyperparametrar
I följande tabell beskrivs de hyperparametrar som är modellagnostiska.
Parameternamn | beskrivning | Standard |
---|---|---|
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. |
Multi-class/multi-label: 78 (utom vit-variants: vits16r224 : 128 vitb16r224 : 48 vitl16r224 :10)Objektidentifiering: 2 (utom yolov5 : 16) Instanssegmentering: 2 Obs! Standardvärdena är den största batchstorleken som kan användas på 12 GiB GPU-minne. |
validation_batch_size |
Valideringsbatchstorlek. Måste vara ett positivt heltal. |
Multi-class/multi-label: 78 (utom vit-variants: vits16r224 : 128 vitb16r224 : 48 vitl16r224 :10)Objektidentifiering: 1 (utom yolov5 : 16) Instanssegmentering: 1 Obs! Standardvärdena ä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 medan du ackumulerar toningarna i dessa steg 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äning. 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 tidigt stopp. Måste vara ett positivt heltal. |
5 |
learning_rate |
Inledande inlärningsfrekvens. Måste vara en flottör i intervallet [0, 1]. |
Flera klasser: 0,01 (utom vit-variants: vits16r224 : 0.0125vitb16r224 : 0.0125vitl16r224 : 0.001) Flera etiketter: 0.035 (utom vit-variants: vits16r224 : 0.025vitb16r224 : 0.025 vitl16r224 : 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 learning rate scheduler ä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 learning rate scheduler ä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 optimeraren är sgd , adam eller adamw . Måste vara en flottör i intervallet [0, 1]. |
1e-4 |
nesterov |
Aktivera nesterov när optimizern ä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 optimizern är adam eller adamw .Måste vara 0 eller 1. |
0 |
evaluation_frequency |
Frekvens för att utvärdera valideringsdatauppsättningen för att hämta 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. | inget standardvärde |
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 informationen om modellskiktet som stöds nedan. 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.'] : ['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.'] |
inget standardvärde |
Bildklassificering (flera klasser och flera etiketter) specifika hyperparametrar
I följande tabell sammanfattas hyperparmetrar för bildklassificeringsuppgifter (flera klasser och flera etiketter).
Parameternamn | beskrivning | Standard |
---|---|---|
model_name |
Modellnamn som ska användas för bildklassificeringsuppgiften. 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 sqrt. (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örning 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örning kan komma in i CUDA OOM om storleken är för stor. |
224 |
training_crop_size |
– Bildgrödans storlek som är indata till ditt neurala nätverk för träningsdatauppsä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örning 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 | Standard |
---|---|---|
model_name |
Modellnamn som ska användas för bildklassificeringsuppgiften. - 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 – För instanssegmenteringsaktivitet, maskrcnn_resnet50_fpn |
validation_metric_type |
Beräkningsmetod för mått 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 en float 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örning kan komma in 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örning kan komma in 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 en flottör i intervallet [0, 1]. |
0,3 |
nms_iou_threshold |
Tröskelvärde för IOU (skärningspunkt över union) som används i icke-maximal undertryckning (NMS) för förutsägelsehuvudet. Används under slutsatsdragning. Måste vara en flottör 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 vid 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 |
Överlappningsfö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 |