Share via


Hyperparameters voor Computer Vision-taken in geautomatiseerde machine learning (v1)

VAN TOEPASSING OP: Python SDK azureml v1

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

Met ondersteuning voor Computer Vision-taken kunt u het modelalgoritmen beheren en hyperparameters opruimen. Deze modelalgoritmen 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 het yolov5 algoritme.

Parameternaam Omschrijving 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
img_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 largexlarge.

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_thresh Tijdens deductie worden alleen voorstellen geretourneerd met een score die groter is dan box_score_thresh. De score is de vermenigvuldiging van de objectnessscore en classificatiekans.
Moet een float in het bereik [0, 1] zijn.
0,1
nms_iou_thresh 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
Een tuple van twee gehele getallen die als een tekenreeks worden doorgegeven. Voorbeeld: --tile_grid_size "(3, 2)"
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_thresh 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 Omschrijving 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 Omschrijving 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.
grad_accumulation_step Accumulatie van kleurovergangen betekent het uitvoeren van een geconfigureerd aantal zonder het gewicht van grad_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
lr_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
amsgrad Inschakelen amsgrad 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
checkpoint_dataset_id FileDataset-id met vooraf getrainde controlepunten voor incrementele training. Zorg ervoor dat u meegaat checkpoint_filename met checkpoint_dataset_id. geen standaardwaarde
checkpoint_filename De vooraf getrainde controlepuntnaam in FileDataset voor incrementele training. Zorg ervoor dat u meegaat checkpoint_dataset_id met checkpoint_filename. 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 Omschrijving Standaard
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
valid_resize_size
  • Afbeeldingsgrootte waarnaar u het formaat wilt wijzigen voordat u bijsnijd voor validatiegegevensset.
  • Moet een positief geheel getal zijn.

    Notities:
  • seresnext neemt geen willekeurige grootte.
  • Training wordt mogelijk in CUDA OOM gebracht als de grootte te groot is.
  • 256
    valid_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 valid_crop_size en train_crop_size.
  • Training wordt mogelijk in CUDA OOM gebracht als de grootte te groot is.
  • 224
    train_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 valid_crop_size en train_crop_size.
  • Training wordt mogelijk in CUDA OOM gebracht 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 het yolov5 algoritme. Zie het modelspecifieke gedeelte hyperparameters voor yolov5 ondersteunde hyperparmeters.

    Parameternaam Omschrijving 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
    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_thresh Tijdens deductie retourneert u alleen voorstellen met een classificatiescore die groter is dan box_score_thresh.
    Moet een float in het bereik [0, 1] zijn.
    0,3
    nms_iou_thresh 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_img 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.
    Opmerking: tile_grid_size mag geen zijn om kleine objectdetectielogica in te schakelen
    Een tuple van twee gehele getallen die als een tekenreeks worden doorgegeven. Voorbeeld: --tile_grid_size "(3, 2)"
    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_thresh 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