Delen via


Hyperparameters voor Computer Vision-taken in geautomatiseerde machine learning

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Ontdek welke hyperparameters specifiek beschikbaar zijn voor Computer Vision-taken in geautomatiseerde ML-experimenten.

Met ondersteuning voor Computer Vision-taken kunt u de modelarchitectuur beheren en hyperparameters opruimen. Deze modelarchitecturen en hyperparameters worden doorgegeven als de parameterruimte voor de opruimen. Hoewel veel van de weergegeven hyperparameters modelneutraal zijn, zijn er gevallen waarin hyperparameters modelspecifiek of taakspecifiek zijn.

Modelspecifieke hyperparameters

Deze tabel bevat een overzicht van hyperparameters die specifiek zijn voor de yolov5 architectuur.

Parameternaam Beschrijving Standaard
validation_metric_type De metrische berekeningsmethode die moet worden gebruikt voor metrische validatiegegevens.
Moet zijnnone, coco, of voccoco_voc.
voc
validation_iou_threshold Drempelwaarde voor OPGEGEVEN voor vakkoppeling bij het berekenen van metrische gegevens voor validatie.
Moet een float zijn in het bereik [0,1, 1].
0,5
image_size Afbeeldingsgrootte voor trainen en valideren.
Moet een positief geheel getal zijn.

Opmerking: de trainingsuitvoering kan CUDA OOM bereiken als de grootte te groot is.
640
model_size Modelgrootte.
Moet zijnsmall, medium, of largeextra_large.

Opmerking: de trainingsuitvoering kan in CUDA OOM komen als de modelgrootte te groot is.
medium
multi_scale Afbeelding op meerdere schaal inschakelen met een verschillende afbeeldingsgrootte met +/- 50%
Moet 0 of 1 zijn.

Opmerking: de trainingsuitvoering kan in CUDA OOM komen als er onvoldoende GPU-geheugen is.
0
box_score_threshold Tijdens deductie worden alleen voorstellen geretourneerd met een score die groter is dan box_score_threshold. De score is de vermenigvuldiging van de objectnessscore en classificatiekans.
Moet een float in het bereik [0, 1] zijn.
0,1
nms_iou_threshold De drempelwaarde voor OPGEGEVEN tijdens deductie in niet-maximale onderdrukking na verwerking.
Moet een float in het bereik [0, 1] zijn.
0,5
tile_grid_size De rastergrootte die moet worden gebruikt voor het tegelen van elke afbeelding.
Opmerking: tile_grid_size mag geen zijn om kleine objectdetectielogica in te schakelen
Moet worden doorgegeven als een tekenreeks in de indeling '3x2'. Voorbeeld: --tile_grid_size '3x2'
Geen standaardwaarde
tile_overlap_ratio Overlapverhouding tussen aangrenzende tegels in elke dimensie.
Moet zwevend zijn binnen het bereik van [0, 1)
0.25
tile_predictions_nms_threshold De drempelwaarde voor OPGEGEVEN voor het uitvoeren van NMS tijdens het samenvoegen van voorspellingen van tegels en afbeeldingen. Wordt gebruikt in validatie/deductie.
Moet zwevend zijn binnen het bereik van [0, 1]
0.25

Deze tabel bevat een overzicht van hyperparameters die specifiek zijn voor de segmentatie van exemplaren tijdens deductie maskrcnn_* .

Parameternaam Beschrijving Standaard
mask_pixel_score_threshold Score cutoff voor het beschouwen van een pixel als onderdeel van het masker van een object. 0,5
max_number_of_polygon_points Maximum aantal (x, y) coördinaatparen in veelhoek na het converteren van een masker. 100
export_as_image Maskers exporteren als afbeeldingen. Onwaar
image_type Type afbeelding om masker te exporteren als (opties zijn jpg, png, bmp). JPG

Modelagnostische hyperparameters

In de volgende tabel worden de hyperparameters beschreven die modelneutraal zijn.

Parameternaam Beschrijving Standaard
number_of_epochs Aantal trainingstijdvakken.
Moet een positief geheel getal zijn.
15
(behalve yolov5: 30)
training_batch_size Grootte van trainingsbatch.
Moet een positief geheel getal zijn.
Meerdere klassen/meerdere labels: 78
(behalve vit-varianten:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Objectdetectie: 2
(behalve yolov5: 16)

Exemplaarsegmentatie: 2

Opmerking: de standaardwaarden zijn de grootste batchgrootte die kan worden gebruikt op 12 GiB GPU-geheugen.
validation_batch_size Grootte van validatiebatch.
Moet een positief geheel getal zijn.
Meerdere klassen/meerdere labels: 78
(behalve vit-varianten:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Objectdetectie: 1
(behalve yolov5: 16)

Exemplaarsegmentatie: 1

Opmerking: de standaardwaarden zijn de grootste batchgrootte die kan worden gebruikt op 12 GiB GPU-geheugen.
gradient_accumulation_step Accumulatie van kleurovergangen betekent het uitvoeren van een geconfigureerd aantal zonder het gewicht van gradient_accumulation_step het model bij te werken tijdens het accumuleren van de kleurovergangen van deze stappen en vervolgens het gebruik van de verzamelde kleurovergangen om de gewichtsupdates te berekenen.
Moet een positief geheel getal zijn.
1
early_stopping Schakel vroege stoplogica in tijdens de training.
Moet 0 of 1 zijn.
1
early_stopping_patience Minimumaantal epochs of validatie-evaluaties met
geen verbetering van de primaire metrische gegevens voordat de uitvoering wordt gestopt.
Moet een positief geheel getal zijn.
5
early_stopping_delay Minimum aantal tijdvakken of validatie-evaluaties die moeten worden gewacht
voordat primaire verbetering van metrische gegevens wordt bijgehouden voor vroegtijdig stoppen.
Moet een positief geheel getal zijn.
5
learning_rate Eerste leersnelheid.
Moet een float in het bereik [0, 1] zijn.
Meerdere klassen: 0.01
(behalve vit-varianten:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Meerdere labels: 0.035
(behalve vit-varianten:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Objectdetectie: 0.005
(behalve yolov5: 0,01)

Exemplaarsegmentatie: 0.005
learning_rate_scheduler Type leerfrequentieplanner.
Moet of warmup_cosinestep.
warmup_cosine
step_lr_gamma Waarde van gamma wanneer leerfrequentieplanner is step.
Moet een float in het bereik [0, 1] zijn.
0,5
step_lr_step_size Waarde van stapgrootte wanneer de leerfrequentieplanner is step.
Moet een positief geheel getal zijn.
5
warmup_cosine_lr_cycles Waarde van cosinuscyclus wanneer leerfrequentieplanner is warmup_cosine.
Moet een float in het bereik [0, 1] zijn.
0,45
warmup_cosine_lr_warmup_epochs Waarde van opwarmtijdtijdvakken wanneer learning rate scheduler is warmup_cosine.
Moet een positief geheel getal zijn.
2
optimizer Type optimizer.
Moet een van sgdbeide zijn, adam. adamw
sgd
momentum Waarde van momentum wanneer optimizer is sgd.
Moet een float in het bereik [0, 1] zijn.
0,9
weight_decay Waarde van gewichtsverval wanneer optimizer is sgd, adamof adamw.
Moet een float in het bereik [0, 1] zijn.
1e-4
nesterov Inschakelen nesterov wanneer optimizer is sgd.
Moet 0 of 1 zijn.
1
beta1 Waarde van beta1 wanneer optimizer is adam of adamw.
Moet een float in het bereik [0, 1] zijn.
0,9
beta2 Waarde van beta2 wanneer optimizer is adam of adamw.
Moet een float in het bereik [0, 1] zijn.
0,999
ams_gradient Inschakelen ams_gradient wanneer optimizer is adam of adamw.
Moet 0 of 1 zijn.
0
evaluation_frequency Frequentie voor het evalueren van de validatiegegevensset om metrische scores op te halen.
Moet een positief geheel getal zijn.
1
checkpoint_frequency Frequentie voor het opslaan van modelcontrolepunten.
Moet een positief geheel getal zijn.
Controlepunt in epoch met de beste primaire metrische gegevens over validatie.
checkpoint_run_id De uitvoerings-id van het experiment met een vooraf getraind controlepunt voor incrementele training. geen standaardwaarde
layers_to_freeze Hoeveel lagen u voor uw model wilt blokkeren. Als u bijvoorbeeld 2 als waarde doorgeeft voor seresnext het blokkeren van laag0 en laag1 die verwijst naar de onderstaande ondersteunde modellaaggegevens.
Moet een positief geheel getal zijn.

- '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.']
geen standaardwaarde

Afbeeldingsclassificatie (multiklasse en multilabel) specifieke hyperparameters

De volgende tabel bevat een overzicht van hyperparmeters voor afbeeldingsclassificatietaken (meerdere klassen en meerdere labels).

Parameternaam Beschrijving Standaard
model_name Modelnaam die moet worden gebruikt voor de taak voor afbeeldingsclassificatie.

Moet een van mobilenetv2, , resnet18, resnet34, resnet50, , resnet101, resnet152, , resnest50, , resnest101, , vits16r224vitb16r224vitl16r224seresnext
seresnext
weighted_loss - 0 voor geen gewogen verlies.
- 1 voor gewogen verlies met wortel. (class_weights)
- 2 voor gewogen verlies met class_weights.
- Moet 0 of 1 of 2 zijn.
0
validation_resize_size - Afbeeldingsgrootte waarvan u het formaat wilt wijzigen voordat u bijsnijd voor validatiegegevensset.
- Moet een positief geheel getal zijn.

Notities:
- seresnext neemt geen willekeurige grootte.
- Training kan CUDA OOM binnenkrijven als de grootte te groot
is.
256
validation_crop_size - Bijsnijdgrootte van afbeeldingen die wordt ingevoerd in uw neurale netwerk voor validatiegegevensset.
- Moet een positief geheel getal zijn.

Notities:
- seresnext neemt geen willekeurige grootte.
- ViT-varianten moeten hetzelfde validation_crop_size en training_crop_size.
- Training kan CUDA OOM binnenkrijven als de grootte te groot
is.
224
training_crop_size - Bijsnijdgrootte van afbeeldingen die wordt ingevoerd in uw neurale netwerk voor het trainen van gegevenssets.
- Moet een positief geheel getal zijn.

Notities:
- seresnext neemt geen willekeurige grootte.
- ViT-varianten moeten hetzelfde validation_crop_size en training_crop_size.
- Training kan CUDA OOM binnenkrijven als de grootte te groot
is.
224

Objectdetectie en instantiesegmentatietaak specifieke hyperparameters

De volgende hyperparameters zijn bedoeld voor objectdetectie- en instantiesegmentatietaken.

Waarschuwing

Deze parameters worden niet ondersteund met de yolov5 architectuur. Zie het modelspecifieke gedeelte hyperparameters voor yolov5 ondersteunde hyperparmeters.

Parameternaam Beschrijving Standaard
model_name Modelnaam die moet worden gebruikt voor de taak voor afbeeldingsclassificatie.
- Voor objectdetectietaak moet een van , , , , fasterrcnn_resnet50_fpn, , fasterrcnn_resnet101_fpn, , fasterrcnn_resnet152_fpn. retinanet_resnet50_fpnfasterrcnn_resnet34_fpnfasterrcnn_resnet18_fpnyolov5
- Bijvoorbeeld segmentatietaak, moet een van maskrcnn_resnet18_fpn, maskrcnn_resnet34_fpn, maskrcnn_resnet50_fpn, , maskrcnn_resnet101_fpnmaskrcnn_resnet152_fpn
- Voor objectdetectietaak, fasterrcnn_resnet50_fpn
- Voor exemplaarsegmentatietaak, maskrcnn_resnet50_fpn
validation_metric_type De metrische berekeningsmethode die moet worden gebruikt voor metrische validatiegegevens.
Moet zijnnone, coco, of voccoco_voc.
voc
validation_iou_threshold Drempelwaarde voor OPGEGEVEN voor vakkoppeling bij het berekenen van metrische gegevens voor validatie.
Moet een float zijn in het bereik [0,1, 1].
0,5
min_size Minimale grootte van de afbeelding die opnieuw moet worden geschaald voordat deze aan de backbone wordt gevoed.
Moet een positief geheel getal zijn.

Opmerking: de trainingsuitvoering kan CUDA OOM bereiken als de grootte te groot is.
600
max_size De maximale grootte van de afbeelding die opnieuw moet worden geschaald voordat deze aan de backbone wordt gevoed.
Moet een positief geheel getal zijn.

Opmerking: de trainingsuitvoering kan CUDA OOM bereiken als de grootte te groot is.
1333
box_score_threshold Tijdens deductie retourneert u alleen voorstellen met een classificatiescore die groter is dan box_score_threshold.
Moet een float in het bereik [0, 1] zijn.
0,3
nms_iou_threshold De drempelwaarde voor BYTES (snijpunt boven union) die wordt gebruikt in niet-maximumonderdrukking (NMS) voor het voorspellingshoofd. Gebruikt tijdens deductie.
Moet een float in het bereik [0, 1] zijn.
0,5
box_detections_per_image Maximum aantal detecties per afbeelding, voor alle klassen.
Moet een positief geheel getal zijn.
100
tile_grid_size De rastergrootte die moet worden gebruikt voor het tegelen van elke afbeelding.
- tile_grid_sizemag geen geen zijn om kleine objectdetectielogica in te schakelen.
- tile_grid_size wordt niet ondersteund voor exemplaarsegmentatietaken.
Moet worden doorgegeven als een tekenreeks in de indeling '3x2'. Voorbeeld: --tile_grid_size '3x2'
Geen standaardwaarde
tile_overlap_ratio Overlapverhouding tussen aangrenzende tegels in elke dimensie.
Moet zwevend zijn binnen het bereik van [0, 1)
0.25
tile_predictions_nms_threshold De drempelwaarde voor OPGEGEVEN voor het uitvoeren van NMS tijdens het samenvoegen van voorspellingen van tegels en afbeeldingen. Wordt gebruikt in validatie/deductie.
Moet zwevend zijn binnen het bereik van [0, 1]
0.25

Volgende stappen