Problembehandlung beim Modelltraining - Amazon Lookout für Vision

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.

Problembehandlung beim Modelltraining

Probleme mit Ihrer Manifestdatei oder Ihren Trainingsbildern können dazu führen, dass das Modelltraining fehlschlägt. Bevor Sie Ihr Modell erneut trainieren, überprüfen Sie die folgenden potenziellen Probleme.

Die Farben der Beschriftungen für Anomalien stimmen nicht mit der Farbe der Anomalien im Maskenbild überein

Wenn Sie ein Bildsegmentierungsmodell trainieren, muss die Farbe des Anomalie-Labels in der Manifestdatei mit der Farbe im Maskenbild übereinstimmen. Die JSON Zeile für ein Bild in der Manifestdatei enthält Metadaten (internal-color-map), die Amazon Lookout for Vision mitteilen, welche Farbe einer Anomaliebezeichnung entspricht. Die Farbe für das scratch Anomalie-Label in der folgenden JSON Zeile lautet beispielsweise. #2ca02c

{ "source-ref": "s3://path-to-image", "anomaly-label": 1, "anomaly-label-metadata": { "class-name": "anomaly", "creation-date": "2021-10-12T14:16:45.668", "human-annotated": "yes", "job-name": "labeling-job/classification-job", "type": "groundtruth/image-classification", "confidence": 1 }, "anomaly-mask-ref": "s3://path-to-image", "anomaly-mask-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "hex-color": "#ffffff", "confidence": 0.0 }, "1": { "class-name": "scratch", "hex-color": "#2ca02c", "confidence": 0.0 }, "2": { "class-name": "dent", "hex-color": "#1f77b4", "confidence": 0.0 } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2021-11-23T20:31:57.758889", "job-name": "labeling-job/segmentation-job" } }

Wenn die Farben im Maskenbild nicht mit den Werten in übereinstimmenhex-color, schlägt das Training fehl und Sie müssen die Manifestdatei aktualisieren.

Um die Farbwerte in einer Manifestdatei zu aktualisieren
  1. Öffnen Sie mit einem Texteditor die Manifestdatei, mit der Sie den Datensatz erstellt haben.

  2. Überprüfen Sie für jede JSON Zeile (Bild), ob die Farben (hex-color) innerhalb des internal-color-map Felds mit den Farben für die Anomaliebeschriftungen im Maskenbild übereinstimmen.

    Die Position des Maskenbilds können Sie dem anomaly-mask-ref Feld entnehmen. Laden Sie das Bild auf Ihren Computer herunter und verwenden Sie den folgenden Code, um die Farben in einem Bild zu ermitteln.

    from PIL import Image img = Image.open('path to local copy of mask file') colors = img.convert('RGB').getcolors() #this converts the mode to RGB for color in colors: print('#%02x%02x%02x' % color[1])
  3. Aktualisieren Sie für jedes Bild mit einer falschen Farbzuweisung das hex-color Feld in der JSON Zeile für das Bild.

  4. Speichern Sie die Aktualisierungsmanifestdatei.

  5. Löschen Sie den vorhandenen Datensatz aus dem Projekt.

  6. Erstellen Sie einen neuen Datensatz im Projekt mit der aktualisierten Manifestdatei.

  7. Trainieren Sie das Modell.

Alternativ können Sie in den Schritten 5 und 6 einzelne Bilder im Datensatz aktualisieren, indem Sie den UpdateDatasetEntriesVorgang aufrufen und aktualisierte JSON Zeilen für die Bilder angeben, die Sie aktualisieren möchten. Beispielcode finden Sie unter Weitere Bilder hinzufügen (SDK).

Maskenbilder haben kein PNG Format

Wenn Sie ein Bildsegmentierungsmodell trainieren, müssen die Maskenbilder PNG formatiert sein. Wenn Sie einen Datensatz aus einer Manifestdatei erstellen, stellen Sie sicher, dass die Maskenbilder, auf die Sie verweisen, im richtigen PNG Format anomaly-mask-ref sind. Wenn die Maskenbilder kein PNG Format haben, müssen Sie sie in PNG das Format konvertieren. Es reicht nicht aus, die Erweiterung für eine Bilddatei in umzubenennen.png.

Maskenbilder, die Sie in der Amazon Lookout for Vision Vision-Konsole oder mit einem SageMaker Ground Truth Truth-Job erstellen, werden im PNG Format erstellt. Sie müssen das Format dieser Bilder nicht ändern.

Um Maskenbilder in einer Manifestdatei zu korrigieren, die nicht PNG formatiert sind
  1. Öffnen Sie mit einem Texteditor die Manifestdatei, mit der Sie den Datensatz erstellt haben.

  2. Stellen Sie für jede JSON Zeile (Bild) sicher, dass das Bild anomaly-mask-ref auf ein PNG Formatbild verweist. Weitere Informationen finden Sie unter Erstellen einer Manifestdatei.

  3. Speichern Sie die aktualisierte Manifestdatei.

  4. Löschen Sie den vorhandenen Datensatz aus dem Projekt.

  5. Erstellen Sie einen neuen Datensatz im Projekt mit der aktualisierten Manifestdatei.

  6. Trainieren Sie das Modell.

Segmentierungs- oder Klassifizierungsbezeichnungen sind ungenau oder fehlen

Fehlende oder ungenaue Bezeichnungen können dazu führen, dass das Training fehlschlägt oder ein Modell entsteht, das schlecht abschneidet. Wir empfehlen, dass Sie alle Bilder in Ihrem Datensatz beschriften. Wenn Sie nicht alle Bilder beschriften und das Modelltraining fehlschlägt oder Ihr Modell schlecht abschneidet, fügen Sie weitere Bilder hinzu.

Überprüfen Sie, ob Folgendes der Fall ist:

  • Wenn Sie ein Segmentierungsmodell erstellen, müssen Masken die Anomalien auf Ihren Datensatzbildern gut abdecken. Um die Masken in Ihrem Datensatz zu überprüfen, sehen Sie sich die Bilder in der Datensatz-Galerie des Projekts an. Falls erforderlich, zeichnen Sie die Bildmasken neu. Weitere Informationen finden Sie unter Bilder segmentieren (Konsole).

  • Stellen Sie sicher, dass anomale Bilder in Ihren Datensatzbildern klassifiziert sind. Wenn Sie ein Bildsegmentierungsmodell erstellen, stellen Sie sicher, dass anomale Bilder über Anomaliebezeichnungen und Bildmasken verfügen.

    Es ist wichtig, dass Sie sich daran erinnern, welche Art von Modell (Segmentierung oder Klassifizierung) Sie erstellen. Ein Klassifikationsmodell benötigt keine Bildmasken für anomale Bilder. Fügen Sie Datensatzbildern, die für ein Klassifikationsmodell bestimmt sind, keine Masken hinzu.

    Um fehlende Beschriftungen zu aktualisieren
    1. Öffnen Sie die Datensatz-Galerie des Projekts.

    2. Filtern Sie Bilder ohne Etikett, um zu sehen, welche Bilder keine Beschriftungen haben.

    3. Führen Sie eine der folgenden Aktionen aus:

    4. Wenn Sie ein Bildsegmentierungsmodell erstellen, fügen Sie Masken zu allen klassifizierten anomalen Bildern hinzu, bei denen Masken fehlen.

    5. Trainieren Sie das Modell.

Wenn Sie schlechte oder fehlende Beschriftungen nicht korrigieren möchten, empfehlen wir Ihnen, weitere beschriftete Bilder hinzuzufügen oder die betroffenen Bilder aus dem Datensatz zu entfernen. Sie können mehr über die Konsole oder mithilfe des UpdateDatasetEntriesVorgangs hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Bildern zu Ihrem Datensatz.

Wenn Sie die Bilder entfernen möchten, müssen Sie den Datensatz ohne die betroffenen Bilder neu erstellen, da Sie kein Bild aus einem Datensatz löschen können. Weitere Informationen finden Sie unter Bilder aus Ihrem Datensatz entfernen.