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 zijn none , coco , of voc coco_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 zijn small , medium , of large extra_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.0125vitb16r224 : 0.0125vitl16r224 : 0.001) Meerdere labels: 0.035 (behalve vit-varianten: vits16r224 : 0.025vitb16r224 : 0.025 vitl16r224 : 0.002) Objectdetectie: 0.005 (behalve yolov5 : 0,01) Exemplaarsegmentatie: 0.005 |
learning_rate_scheduler |
Type leerfrequentieplanner. Moet of warmup_cosine step . |
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 sgd beide 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 , adam of 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 , , vits16r224 vitb16r224 vitl16r224 seresnext |
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_fpn fasterrcnn_resnet34_fpn fasterrcnn_resnet18_fpn yolov5 - Bijvoorbeeld segmentatietaak, moet een van maskrcnn_resnet18_fpn , maskrcnn_resnet34_fpn , maskrcnn_resnet50_fpn , , maskrcnn_resnet101_fpn maskrcnn_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 zijn none , coco , of voc coco_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_size mag 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 |