Freigeben über


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

GILT FÜR:Python SDK azureml v1

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 den Modellalgorithmus steuern und Hyperparameter bereinigen. Diese Modellalgorithmen und Hyperparameter werden als Parameterraum für den Sweep ü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 den yolov5-Algorithmus 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
img_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 xlarge 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_thresh Geben Sie während des Rückschlusses nur Vorschläge mit einem Wert zurück, der größer als box_score_thresh 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_thresh 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
Ein Tupel mit zwei ganzen Zahlen, die als Zeichenfolge übergeben werden. Beispiel: --tile_grid_size "(3, 2)"
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_thresh 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.
grad_accumulation_step Gradientenakkumulation bedeutet, dass eine konfigurierte Anzahl von grad_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
lr_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
amsgrad Aktivieren Sie amsgrad, 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
checkpoint_dataset_id FileDataset-ID, die vortrainierte Prüfpunkte für inkrementelles Training enthält. Stellen Sie sicher, dass Sie checkpoint_filename zusammen mit checkpoint_dataset_id übergeben. Kein Standard
checkpoint_filename Der vorab trainierte Prüfpunktdateiname in FileDataset für inkrementelles Training. Stellen Sie sicher, dass Sie checkpoint_dataset_id zusammen mit checkpoint_filename übergeben. 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
weighted_loss 0 für keinen gewichteten Verlust.
1 für gewichteten Verlust mit sqrt (class_weights).
2 für gewichteten Verlust mit class_weights.
Muss 0, 1 oder 2 sein.
0
valid_resize_size
  • Bildgröße, auf die die Größe vor dem Zuschneiden für das Validierungsdataset geändert werden soll.
  • Der Wert 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
    valid_crop_size
  • Größe des Bildausschnitts, der in Ihr neuronales Netzwerk für das Validierungsdataset eingegeben wird.
  • Der Wert muss eine positive ganze Zahl sein.

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

    Hinweise:
  • seresnext nimmt keine beliebige Größe an.
  • ViT-Varianten sollten dieselben Werte für valid_crop_size und train_crop_size 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 dem yolov5-Algorithmus nicht unterstützt. Informationen zu unterstützen yolov5-Hyperparametern finden Sie unter modellspezifische Hyperparameter.

    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
    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_thresh Geben Sie während des Rückschlusses nur Vorschläge mit einem Klassifizierungswert zurück, der größer als box_score_thresh ist.
    Muss ein Gleitkommawert im Bereich [0, 1] sein.
    0,3
    nms_iou_thresh 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_img 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.
    Hinweis: tile_grid_size darf nicht „None“ (Keine) sein, um die Logik der Erkennung kleiner Objekte zu aktivieren
    Ein Tupel mit zwei ganzen Zahlen, die als Zeichenfolge übergeben werden. Beispiel: --tile_grid_size "(3, 2)"
    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_thresh 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