Bildklassifikations-Hyperparameter - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bildklassifikations-Hyperparameter

Hyperparameter sind Parameter, die festgelegt werden, bevor ein Machine Learning-Modell mit dem Lernen beginnt. Die folgenden Hyperparameter werden vom integrierten Amazon-Image SageMaker -Klassifizierungsalgorithmus unterstützt. Informationen Optimieren eines Bildklassifizierungsmodells zum Optimieren von Hyperparametern für die Bildklassifizierung finden Sie unter.

Name des Parameters Beschreibung
num_classes

Anzahl der Ausgabeklassen. Dieser Parameter definiert die Dimensionen der Netzwerkausgabe und ist in der Regel auf die Anzahl der Klassen im Dataset festgelegt.

Neben der Mehrklassen-Klassifizierung wird auch die Multi-Label-Klassifizierung unterstützt. Weitere Informationen zur Arbeit mit Multi-Label-Klassifizierung mit erweiterten Manifestdateien finden Sie unter E/A-Schnittstelle für den Bildklassifikationsalgorithmus.

Erforderlich

Gültige Werte: positive Ganzzahl

num_training_samples

Anzahl der Trainingsbeispiele im Eingabedataset.

Wenn keine Übereinstimmung zwischen diesem Wert und der Anzahl der Beispiele im Trainingssatz gibt, dann ist das Verhalten des lr_scheduler_step-Parameters nicht definiert und die verteilte Trainingsgenauigkeit kann beeinträchtigt sein.

Erforderlich

Gültige Werte: positive Ganzzahl

augmentation_type

Datenaugmentationstyp. Die Eingabebilder können auf verschiedene Weise erweitert werden, wie unten angegeben.

  • crop: Zufälliges Zuschneiden des Bildes und horizontales Kippen des Bildes

  • crop_color: Zusätzlich zu ''crop" werden drei zufällige Werte im Bereich [-36, 36], [-50, 50] und [-50, 50] den entsprechenden Kanälen für Farbton, Sättigung, Helligkeit hinzufügt.

  • crop_color_transform: Zusätzlich zu crop_color werden zufällige Umwandlungen, einschließlich Rotieren, Neigen und Seitenverhältnisvariationen auf das Bild angewendet. Die maximale Rotationswinkel ist 10 Grad, das maximale Neigungsverhältnis ist 0,1 und das maximale Aspektänderungsverhältnis ist 0,25.

Optional

Gültige Werte: crop, crop_color oder crop_color_transform.

Standardwert: keiner

beta_1

Der beta1-Wert für adam, d. h. exponentielle Zerfallsrate für die ersten Momentschätzungen.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.9

beta_2

Der beta2-Wert für adam, d. h. exponentielle Zerfallsrate für die zweiten Momentschätzungen.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.999

checkpoint_frequency

Zeitraum für das Speichern der Modellparameter (in Anzahl von Epochen).

Beachten Sie, dass alle Prüfpunktdateien als Teil der endgültigen Modelldatei „model.tar.gz“ gespeichert und in S3 an den angegebenen Modellspeicherort hochgeladen werden. Dadurch wird die Größe der Modelldatei proportional zur Anzahl der während des Trainings gespeicherten Prüfpunkte erhöht.

Optional

Gültige Werte: positive Ganzzahl, die nicht größer ist als epochs.

Standardwert: keiner (speichern Sie den Prüfpunkt in der Epoche mit der besten Validierungsgenauigkeit).

early_stopping

Mit True verwenden Sie die Logik zum frühzeitigen Beenden während des Trainings. Mit False wird die Logik nicht verwendet.

Optional

Gültige Werte: True oder False.

Standardwert: False

early_stopping_min_epochs

Die Mindestanzahl der Epochen, die ausgeführt werden müssen, bevor die Logik zum frühzeitigen Beenden aufgerufen werden kann. Sie wird nur verwendet, wenn early_stopping = True.

Optional

Gültige Werte: positive Ganzzahl

Standardwert: 10

early_stopping_patience

Die Anzahl der abzuwartenden Epochen, bevor das Training endet, wenn keine Verbesserung in der entsprechenden Metrik erzielt wird. Sie wird nur verwendet, wenn early_stopping = True.

Optional

Gültige Werte: positive Ganzzahl

Standardwert: 5

early_stopping_tolerance

Relative Toleranz zur Messung von Verbesserungen der Genauigkeitsvalidierungsmetrik. Wenn das Verhältnis der Genauigkeitsverbesserung dividiert durch die vorherige beste Genauigkeit kleiner als der early_stopping_tolerance-Wert ist, betrachtet der Prozess zum frühzeitigen Beenden die Verbesserung als nicht vorhanden. Sie wird nur verwendet, wenn early_stopping = True.

Optional

Gültige Werte: 0 ≤ Float ≤ 1

Standardwert: 0.0

epochs

Anzahl der Trainingsepochen.

Optional

Gültige Werte: positive Ganzzahl

Standardwert: 30

eps

Die epsilon-Wert für adam und rmsprop. Er ist in der Regel auf einen kleinen Wert festgelegt, um eine Division durch 0 zu verhindern.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 1e-8

gamma

Der gamma-Wert für rmsprop, der Zerfallsfaktor des gleitenden Durchschnitts des Verlaufs im Quadrat.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.9

image_shape

Die Abmessungen des Eingabebildes, was der Größe der Eingabeschicht des Netzwerks entspricht. Das Format ist definiert als "num_channels, Höhe, Breite". Die Bildabmessung kann auf einen beliebigen Wert festgelegt werden, da das Netzwerk unterschiedliche Abmessungen der Eingabe verarbeiten kann. Es kann jedoch zu Speicherplatzbeschränkungen kommen, wenn eine größere Bildgröße verwendet wird. Vortrainierte Modelle können nur eine feste Bildgröße von 224 x 224 verwenden. Typische Bildabmessungen für die Bildklassifizierung sind "3.224.224". Dies ähnelt dem ImageNet Datensatz.

Beim Training schlägt das Training fehl, wenn ein Eingabebild in einer beliebigen Dimension kleiner als dieser Parameter ist. Wenn ein Bild größer ist, wird ein Teil des Bilds beschnitten, wobei der beschnittene Bereich durch diesen Parameter festgelegt wird. Wenn der Hyperparameter gesetzt augmentation_type ist, erfolgt der Zuschnitt nach dem Zufallsprinzip; andernfalls erfolgt der Bildausschnitt in der Mitte.

Bei der Inferenz wird die Größe der Eingabebilder an die Größe angepasst, image_shape die beim Training verwendet wurde. Das Seitenverhältnis wird nicht beibehalten, und Bilder werden nicht beschnitten.

Optional

Gültige Werte: Zeichenfolge

Standardwert: '3.224.224'

kv_store

Synchronisierungsmodus der Gewichtungsaktualisierungen während des verteilten Trainings. Die Gewichtungsaktualisierungen können entweder synchron oder asynchron über mehrere Maschinen hinweg aktualisiert werden. Synchrone Aktualisierungen bieten in der Regel eine bessere Genauigkeit als asynchrone Aktualisierungen, können aber langsamer sein. Weitere Details finden Sie in den Informationen zum verteilten Training in MXNet.

Dieser Parameter gilt nicht für das Einzel-Maschinen-Training.

  • dist_sync: Die Verläufe werden nach jedem Stapel mit allen Workern synchronisiert. Mit dist_sync ist mit Stapelgröße jetzt die auf den einzelnen Maschinen verwendete Stapelgröße gemeint. Wenn es also n Maschinen gibt und wir Stapelgröße b verwenden, dann verhält sich dist_sync wie „lokal“, mit Stapelgröße n * b.

  • dist_async: Führt asynchrone Aktualisierungen aus. Die Gewichtungen werden immer dann aktualisiert, wenn Verläufe von einer beliebigen Maschine empfangen werden und die Gewichtungsaktualisierungen atomar sind. Allerdings ist die Reihenfolge nicht garantiert.

Optional

Gültige Werte: dist_sync oder dist_async.

Standardwert: keiner

learning_rate

Anfängliche Lernrate.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.1

lr_scheduler_factor

Das Verhältnis zur Reduzierung der Lernrate, verwendet in Verbindung mit dem lr_scheduler_step-Parameter, definiert als lr_new = lr_old * lr_scheduler_factor.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.1

lr_scheduler_step

Die Epochen für das Reduzieren der Lernrate. Wie im lr_scheduler_factor-Parameter erklärt, wird die Lernrate bei diesen Epochen um lr_scheduler_factor reduziert. Wenn beispielsweise der Wert auf "10, 20" festgelegt ist, wird die Lernrate nach der 10. Epoche um lr_scheduler_factor reduziert und nach der 20. Epoche nochmals um lr_scheduler_factor. Die Epochen werden durch "," getrennt.

Optional

Gültige Werte: Zeichenfolge

Standardwert: keiner

mini_batch_size

Die Batch-Größe für die Schulung. In einer Multi-GPU-Umgebung auf einer einzelnen Maschine verarbeitet jede GPU mini_batch_size/num_gpu-Trainingsbeispiele. Beim Trainieren auf mehreren Maschinen im dist_sync-Modus ist die tatsächliche Stapelgröße mini_batch_size * Anzahl der Maschinen. Weitere Details finden Sie in den MXNet-Dokumenten.

Optional

Gültige Werte: positive Ganzzahl

Standardwert: 32

momentum

Das Moment für sgd und nag, ignoriert für andere Optimierer.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.9

multi_label

Flag für die Multi-Label-Klassifizierung, wobei jedem Beispiel mehrere Bezeichnungen zugewiesen werden können. Durchschnittliche Genauigkeit für alle protokollierten Klassen.

Optional

Gültige Werte: 0 oder 1

Standardwert: 0

num_layers

Anzahl der Schichten für das Netzwerk. Für Daten mit großer Bildgröße (z. B. 224x224 – wie ImageNet) empfehlen wir, die Anzahl der Ebenen aus dem Satz [18, 34, 50, 101, 152, 200] auszuwählen. Für Daten mit kleiner Bildgröße (z. B. 28x28 wie CIFAR) wird empfohlen, die Anzahl der Schichten aus dem Satz [20, 32, 44, 56, 110] auszuwählen. Die Anzahl der Ebenen in jedem Satz basiert auf dem ResNet Papier. Für Transferlernen definiert die Anzahl der Schichten die Architektur des Basisnetzwerks und kann somit nur aus dem Satz [18, 34, 50, 101, 152, 200] ausgewählt werden.

Optional

Gültige Werte: positive Ganzzahl in [18, 34, 50, 101, 152, 200] oder [20, 32, 44, 56, 110].

Standardwert: 152

optimizer

Der Optimierer-Typ. Weitere Details zu den Parametern für die Optimierer finden Sie in der MXNet-API.

Optional

Gültige Werte: Entweder sgd, adam, rmsprop oder nag.

Standardwert: sgd

precision_dtype

Die Genauigkeit der Gewichtungen, die für das Training verwendet werden. Der Algorithmus kann entweder einfache Präzision (float32) oder halbe Präzision (float16) für die Gewichtungen verwenden. Die Verwendung halber Präzision für Gewichtungen führt zu reduzierten Speicherverbrauch.

Optional

Gültige Werte: float32 oder float16.

Standardwert: float32

resize

Die Anzahl der Pixel auf der kürzesten Seite eines Bilds nach der Größenänderung für das Training. Wenn der Parameter nicht festgelegt ist, werden die Trainingsdaten ohne Änderung der Größe verwendet. Der Parameter sollte größer sein als die Breiten- und die Höhenkomponente von image_shape, um Trainingsversagen zu verhindern.

Erforderlich bei Verwendung von Bildinhaltstypen

Optional bei Verwendung des Inhaltstyps RecordIO

Gültige Werte: positive Ganzzahl

Standardwert: keiner

top_k

Meldet die Top-K-Genauigkeit während des Trainings. Dieser Parameter muss größer als 1 sein, da die Top-1-Trainingsgenauigkeit dasselbe ist wie die reguläre Trainingsgenauigkeit, die bereits gemeldet wurde.

Optional

Gültige Werte: positive Ganzzahl größer als 1.

Standardwert: keiner

use_pretrained_model

Kennzeichen, das angibt, ob ein vortrainiertes Modell für das Training verwendet werden soll. Wenn dieser Wert auf 1 festgelegt ist, wird das vortrainierte Modell mit der entsprechenden Anzahl von Schichten geladen und für das Training verwendet. Nur die obere, vollständig verbundene Schichtwird mit zufälligen Gewichtungen neu initialisiert. Andernfalls wird das Netzwerk von Grund auf neu trainiert.

Optional

Gültige Werte: 0 oder 1

Standardwert: 0

use_weighted_loss

Flag, das angibt, ob der gewichteten Kreuz-Entropie-Verlust für die Multi-Label-Klassifizierung verwendet werden soll (nur verwendet, wenn multi_label = 1), wobei die Gewichtungen basierend auf der Verteilung von Klassen berechnet werden.

Optional

Gültige Werte: 0 oder 1

Standardwert: 0

weight_decay

Der Zerfall der Gewichtung des Koeffizienten für sgd und nag, ignoriert für andere Optimierer.

Optional

Gültige Werte: Gleitkommazahl. Bereich [0, 1].

Standardwert: 0.0001