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

Flera etiketter: 0.035
(utom vit-varianter:
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 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, adameller 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, voceller 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

Nästa steg