Freigeben über


Hyperparameter für Aufgaben im Bereich maschinelles Sehen beim automatisierten maschinellen Lernen

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Hier erfahren Sie, welche Hyperparameter speziell für Aufgaben des maschinellen Sehens in Experimenten mit automatisiertem ML verfügbar sind.

Mit der Unterstützung für Aufgaben des maschinellen Sehens können Sie dien Modellarchitektur steuern und Hyperparameter bereinigen. Diese Modellarchitektur und Hyperparameter werden als Parameterraum für das Aufräumen übergeben. Während viele der verfügbar gemachten Hyperparameter modellunabhängig sind, gibt es Instanzen, in denen Hyperparameter modell- oder aufgabenspezifisch sind.

Modellspezifische Hyperparameter

In dieser Tabelle werden die für die yolov5-Architektur spezifischen Hyperparameter zusammengefasst.

Parametername BESCHREIBUNG Standard
validation_metric_type Metrikberechnungsmethode, die für Validierungsmetriken zu verwenden ist.
Muss none, coco, voc oder coco_voc sein.
voc
validation_iou_threshold IOU-Schwellenwert für Rahmenabgleich beim Berechnen von Validierungsmetriken.
Muss ein Gleitkommawert im Bereich [0,1; 1] sein.
0.5
image_size Bildgröße für Training und Validierung.
Der Wert muss eine positive ganze Zahl sein.

Hinweis: Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Größe zu groß ist.
640
model_size Modellgröße.
Muss small, medium, large oder extra_large sein.

Hinweis: Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Modellgröße zu groß ist.
medium
multi_scale Aktivieren von Bildern mit mehreren Skalierungen durch variierende Bildgröße um +/- 50 %
Der Wert muss 0 oder 1 sein.

Hinweis: Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn nicht ausreichend GPU-Arbeitsspeicher verfügbar ist.
0
box_score_threshold Geben Sie während des Rückschlusses nur Vorschläge mit einem Wert zurück, der größer als box_score_threshold ist. Die Punktzahl ergibt sich aus der Multiplikation von Objektivitätswert und Klassifizierungswahrscheinlichkeit.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0,1
nms_iou_threshold IOU-Schwellenwert, der während des Rückschlusses bei der Nachbearbeitung mit nicht maximaler Unterdrückung verwendet wird.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.5
tile_grid_size Die Rastergröße, die für die Kachelung der einzelnen Bilder verwendet werden soll.
Hinweis: tile_grid_size darf nicht „None“ (Keine) sein, um die Logik der Erkennung kleiner Objekte zu aktivieren
Sollte als Zeichenfolge im „3x2“-Format übergeben werden. Beispiel: --tile_grid_size '3x2'
Kein Standardwert
tile_overlap_ratio Überlappungsverhältnis zwischen angrenzenden Kacheln in den einzelnen Dimensionen.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0,25
tile_predictions_nms_threshold Der IOU-Schwellenwert, der zum Ausführen von NMS beim Zusammenführen von Vorhersagen aus Kacheln und Bildern verwendet werden soll. Wird bei der Validierung bzw. beim Rückschließen verwendet.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0,25

In dieser Tabelle werden Hyperparameter zusammengefasst, die für die maskrcnn_* für die Instanzsegmentierung während des Rückschließens spezifisch sind.

Parametername BESCHREIBUNG Standard
mask_pixel_score_threshold Grenzwert für die Berücksichtigung eines Pixels als Teil der Maske eines Objekts. 0.5
max_number_of_polygon_points Maximale Anzahl von (x, y) Koordinatenpaaren im Polygon nach der Konvertierung aus einer Maske. 100
export_as_image Exportieren Sie Masken als Bilder. Falsch
image_type Typ des Bildes, als das die Maske exportiert werden soll (Optionen sind JPG, PNG, BMP). JPG

Modellunabhängige Hyperparameter

In der folgenden Tabelle werden die modellunabhängigen Hyperparameter beschrieben.

Parametername BESCHREIBUNG Standard
number_of_epochs Anzahl der Trainingsepochen
Der Wert muss eine positive ganze Zahl sein.
15
(mit Ausnahme von yolov5: 30)
training_batch_size Trainingsbatchgröße.
Der Wert muss eine positive ganze Zahl sein.
Mehrere Klassen/mehrere Bezeichnungen: 78
(mit Ausnahme von vit-variants:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Objekterkennung: 2
(mit Ausnahme von yolov5: 16)

Instanzsegmentierung: 2

Hinweis: Die Standardwerte sind die größte Batchgröße, die für 12 GiB GPU-Arbeitsspeicher verwendet werden kann.
validation_batch_size Überprüfungsbatchgröße.
Der Wert muss eine positive ganze Zahl sein.
Mehrere Klassen/mehrere Bezeichnungen: 78
(mit Ausnahme von vit-variants:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

Objekterkennung: 1
(mit Ausnahme von yolov5: 16)

Instanzsegmentierung: 1

Hinweis: Die Standardwerte sind die größte Batchgröße, die für 12 GiB GPU-Arbeitsspeicher verwendet werden kann.
gradient_accumulation_step Gradientenakkumulation bedeutet, dass eine konfigurierte Anzahl von gradient_accumulation_step durchgeführt wird, ohne die Modellgewichtungen zu aktualisieren, während die Gradienten dieser Schritte akkumuliert werden, und dann die akkumulierten Gradienten verwendet werden, um die Gewichtsaktualisierungen zu berechnen.
Der Wert muss eine positive ganze Zahl sein.
1
early_stopping Logik zum frühzeitigen Beenden während des Trainings aktivieren.
Der Wert muss 0 oder 1 sein.
1
early_stopping_patience Mindestanzahl von Epochen oder Validierungsauswertungen
ohne Verbesserung der primären Metrik, bevor die Ausführung abgebrochen wird.
Der Wert muss eine positive ganze Zahl sein.
5
early_stopping_delay Mindestanzahl der Epochen oder Validierungsauswertungen, die abgewartet werden müssen,
bevor die Verbesserung der primären Metrik für ein frühzeitiges Beenden verfolgt wird.
Der Wert muss eine positive ganze Zahl sein.
5
learning_rate Anfängliche Lernrate.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
Mehrere Klassen: 0.01
(mit Ausnahme von vit-variants:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

Mehrere Bezeichnungen: 0.035
(mit Ausnahme von vit-variants:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

Objekterkennung: 0.005
(mit Ausnahme von yolov5: 0.01)

Instanzsegmentierung: 0.005
learning_rate_scheduler Typ des Lernratenplaners.
Muss warmup_cosine oder step sein.
warmup_cosine
step_lr_gamma Der Wert von Gamma, wenn der Lernratenplaner step ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.5
step_lr_step_size Der Wert der Schrittgröße, wenn der Lernratenplaner step ist.
Der Wert muss eine positive ganze Zahl sein.
5
warmup_cosine_lr_cycles Der Wert des Kosinuszyklus, wenn der Lernratenplaner warmup_cosine ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.45
warmup_cosine_lr_warmup_epochs Der Wert der Aufwärmepochen, wenn der Lernratenplaner warmup_cosine ist.
Der Wert muss eine positive ganze Zahl sein.
2
optimizer Typ des Optimierers.
Muss entweder sgd, adam oder adamw sein.
sgd
momentum Der Wert der Dynamik, wenn der Optimierer sgd ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.9
weight_decay Der Wert des Gewichtungsverfalls, wenn der Optimierer sgd, adam oder adamw ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
1e-4
nesterov Aktivieren Sie nesterov, wenn der Optimierer sgd ist.
Der Wert muss 0 oder 1 sein.
1
beta1 Der Wert von beta1, wenn der Optimierer adam oder adamw ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.9
beta2 Der Wert von beta2, wenn der Optimierer adam oder adamw ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.999
ams_gradient Aktivieren Sie ams_gradient, wenn der Optimierer adam oder adamw ist.
Der Wert muss 0 oder 1 sein.
0
evaluation_frequency Häufigkeit zum Auswerten des Validierungsdatasets, um Metrikergebnisse zu erhalten.
Der Wert muss eine positive ganze Zahl sein.
1
checkpoint_frequency Häufigkeit zum Speichern von Modellprüfpunkten.
Der Wert muss eine positive ganze Zahl sein.
Prüfpunkt bei der Epoche mit der besten primären Metrik bei der Validierung.
checkpoint_run_id Die Ausführungs-ID des Experiments, das über einen vortrainierten Prüfpunkt für inkrementelles Training verfügt Kein Standard
layers_to_freeze Wie viele Ebenen für Ihr Modell eingefroren werden. Die Übergabe von 2 als Wert für seresnext bedeutet z. B. das Einfrieren von Ebene0 und Ebene1 unter Bezugnahme auf die nachfolgend unterstützten Modellebenen.
Der Wert muss eine positive ganze Zahl sein.

- '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.']
Kein Standard

Spezifische Hyperparameter für die Bildklassifizierung (mehrere Klassen und mehrere Bezeichnungen)

In der folgenden Tabelle sind Hyperparmeter für Bildklassifizierungsaufgaben (mit mehreren Klassen und mehreren Bezeichnungen) zusammengefasst.

Parametername BESCHREIBUNG Standard
model_name Modellname, der für die Bildklassifizierungsaufgabe verwendet werden soll.

Muss eines der folgende Formate aufweisen: mobilenetv2, resnet18, resnet34, resnet50, resnet101, resnet152, resnest50, resnest101, seresnext, vits16r224, vitb16r224, vitl16r224.
seresnext
weighted_loss – 0 für nicht gewichteten Verlust.
- 1 für gewichtete Verlust mit sqrt. (class_weights)
– 2 für gewichteten Verlust mit class_weights.
– Muss 0, 1 oder 2 sein.
0
validation_resize_size – Bildgröße, auf die die Größe vor dem Zuschneiden für das Validierungsdataset geändert werden soll.
– Muss eine positive ganze Zahl sein.

Hinweise:
- seresnext nimmt keine beliebige Größe an.
– Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Größe zu groß ist
.
256
validation_crop_size – Größe des Bildausschnitts, der in Ihr neuronales Netzwerk für das Validierungsdataset eingegeben wird.
– Muss eine positive ganze Zahl sein.

Hinweise:
- seresnext nimmt keine beliebige Größe an.
- ViT-Varianten müssen für validation_crop_size und training_crop_size dieselben Werte aufweisen.
– Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Größe zu groß ist
.
224
training_crop_size – Größe des Bildausschnitts, der in Ihr neuronales Netzwerk für das Trainingsdataset eingegeben wird.
– Muss eine positive ganze Zahl sein.

Hinweise:
- seresnext nimmt keine beliebige Größe an.
- ViT-Varianten müssen für validation_crop_size und training_crop_size dieselben Werte aufweisen.
– Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Größe zu groß ist
.
224

Spezifische Hyperparameter der Objekterkennungs- und Instanzsegmentierungsaufgabe

Die folgenden Hyperparameter sind für Aufgaben der Objekterkennung und der Instanzsegmentierung bestimmt.

Warnung

Diese Parameter werden von der yolov5-Architektur nicht unterstützt. Informationen zu unterstützen yolov5-Hyperparametern finden Sie unter modellspezifische Hyperparameter.

Parametername BESCHREIBUNG Standard
model_name Modellname, der für die Bildklassifizierungsaufgabe verwendet werden soll.
– Für die Objekterkennungsaufgabe ist eine Angabe für yolov5, fasterrcnn_resnet18_fpn, fasterrcnn_resnet34_fpn, fasterrcnn_resnet50_fpn, fasterrcnn_resnet101_fpn, fasterrcnn_resnet152_fpn und retinanet_resnet50_fpn erforderlich.
– Für die Instanzsegmentierungsaufgabe ist eine Angabe für maskrcnn_resnet18_fpn, maskrcnn_resnet34_fpn, maskrcnn_resnet50_fpn, maskrcnn_resnet101_fpn, maskrcnn_resnet152_fpn erforderlich
– Für die Objekterkennungsaufgabe: fasterrcnn_resnet50_fpn
– Für die Instanzsegmentierungsaufgabe: maskrcnn_resnet50_fpn
validation_metric_type Metrikberechnungsmethode, die für Validierungsmetriken zu verwenden ist.
Muss none, coco, voc oder coco_voc sein.
voc
validation_iou_threshold IOU-Schwellenwert für Rahmenabgleich beim Berechnen von Validierungsmetriken.
Muss ein Gleitkommawert im Bereich [0,1; 1] sein.
0.5
min_size Mindestgröße des Bilds, das neu skaliert werden soll, bevor es an den Backbone weitergeleitet wird.
Der Wert muss eine positive ganze Zahl sein.

Hinweis: Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Größe zu groß ist.
600
max_size Maximale Größe des Bilds, das neu skaliert werden soll, bevor es an den Backbone weitergeleitet wird.
Der Wert muss eine positive ganze Zahl sein.

Hinweis: Bei der Trainingsausführung kann es zu CUDA OOM kommen, wenn die Größe zu groß ist.
1333
box_score_threshold Geben Sie während des Rückschlusses nur Vorschläge mit einem Klassifizierungswert zurück, der größer als box_score_threshold ist.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0,3
nms_iou_threshold IOU-Schwellenwert (Schnittmenge über Vereinigungsmenge), der in der NMS (Non-Maximum Suppression, nicht maximale Unterdrückung) für den Vorhersagekopf verwendet wird. Wird während des Rückschlusses verwendet.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0.5
box_detections_per_image Maximale Anzahl von Erkennungen pro Bild für alle Klassen.
Der Wert muss eine positive ganze Zahl sein.
100
tile_grid_size Die Rastergröße, die für die Kachelung der einzelnen Bilder verwendet werden soll.
- tile_grid_size darf nicht „None“ (Keine) sein, um die Logik der Erkennung kleiner Objekte zu aktivieren.
- tile_grid_size wird für Aufgaben der Instanzsegmentierung nicht unterstützt.
Sollte als Zeichenfolge im „3x2“-Format übergeben werden. Beispiel: --tile_grid_size '3x2'
Kein Standardwert
tile_overlap_ratio Überlappungsverhältnis zwischen angrenzenden Kacheln in den einzelnen Dimensionen.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0,25
tile_predictions_nms_threshold Der IOU-Schwellenwert, der zum Ausführen von NMS beim Zusammenführen von Vorhersagen aus Kacheln und Bildern verwendet werden soll. Wird bei der Validierung bzw. beim Rückschließen verwendet.
Muss ein Gleitkommawert im Bereich [0, 1] sein.
0,25

Nächste Schritte