Dela via


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, voceller 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, largeeller 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.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Flera etiketter: 0.035
(utom vit-variants:
vits16r224: 0.025
vitb16r224: 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, adameller 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_fpnmaskrcnn_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, voceller 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

Nästa steg