Die folgenden Zielabschnitte enthalten Informationen zu Datenanforderungen, zur Eingabe/Ausgabe-Schemadatei und zum Format der Datenimportdateien (JSON Lines und CSV), die vom Schema definiert werden.
Klassifizierung mit einem einzigen Label
Datenanforderungen
- Trainingsdaten: Die folgenden Bildformate werden beim Trainieren Ihres Modells unterstützt. Nachdem die Vertex AI API die importierten Bilder vorverarbeitet hat, dienen sie als Daten, die zum Trainieren eines Modells verwendet werden. Die maximale Dateigröße pro Bild beträgt 30 MB.
- JPEG
- GIF
- PNG
- BMP
- ICO
- Vorhersagedaten: Die folgenden Bildformate werden unterstützt, wenn Sie eine Vorhersage (für die Abfrage) Ihres Modells anfordern. Die maximale Dateigröße beträgt 1,5 MB.
- JPEG
- GIF
- PNG
- WEBP
- BMP
- TIFF
- ICO
- AutoML-Modelle sind für Fotos von Objekten aus dem richtigen Leben optimiert.
- Die Trainingsdaten sollten den Daten, für die Vorhersagen getroffen werden sollen, möglichst ähnlich sein. Wenn Ihr Anwendungsfall beispielsweise verschwommene Bilder mit niedriger Auflösung (etwa von einer Überwachungskamera) beinhaltet, sollten Ihre Trainingsdaten aus verschwommenen Bildern mit niedriger Auflösung bestehen. Sie sollten außerdem mehrere Blickwinkel, Auflösungen und Hintergründe für Ihre Trainingsbilder bereitstellen.
- Vertex AI-Modelle können in der Regel keine Labels vorhersagen, die von Menschen nicht zugewiesen werden können. Wenn also ein Mensch nicht darin unterwiesen werden kann, beim Betrachten eines Bildes innerhalb von 1 bis 2 Sekunden ein Label zuzuweisen, kann Ihr Modell wahrscheinlich auch nicht darin trainiert werden.
- Wir empfehlen ca. 1.000 Trainingsbilder pro Label. Die Mindestanzahl pro Label ist 10. Im Allgemeinen sind mehr Beispiele pro Label nötig, um Modelle mit mehreren Labels pro Bild zu trainieren. Die Ergebnisse sind dann schwieriger zu interpretieren.
- Das Modell funktioniert am besten, wenn für das am häufigsten verwendete Label höchstens 100 Mal mehr Bilder vorhanden sind als für das am wenigsten verwendete Label. Es wird empfohlen, Labels mit sehr geringer Häufigkeit zu entfernen.
- Schließen Sie nach Möglichkeit ein Label vom Typ None_of_the_above und Bilder ein, die keinem Ihrer definierten Labels entsprechen. Beispielsweise können Sie bei einem Blumen-Dataset Bilder von Blumen einschließen, die keinem der definierten Labels entsprechen, und dann ihnen das Label None_of_the_above geben.
Best Practices für Bilddaten zum Trainieren von AutoML-Modellen
Die folgenden Best Practices gelten für Datasets, die Modelle mithilfe von AutoML trainieren.
YAML-Schemadatei
Verwenden Sie die folgende öffentlich zugängliche Schemadatei, um Annotationen für ein einzelnes Label zu importieren. Diese Schemadatei bestimmt das Format der Dateneingabedateien. Die Struktur dieser Datei folgt dem OpenAPI-Schema.
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
Vollständige Schemadatei
title: ImageClassificationSingleLabel description: > Import and export format for importing/exporting images together with single-label classification annotation. Can be used in Dataset.import_schema_uri field. type: object required: - imageGcsUri properties: imageGcsUri: type: string description: > A Cloud Storage URI pointing to an image. Up to 30MB in size. Supported file mime types: `image/jpeg`, `image/gif`, `image/png`, `image/webp`, `image/bmp`, `image/tiff`, `image/vnd.microsoft.icon`. classificationAnnotation: type: object description: Single classification Annotation on the image. properties: displayName: type: string description: > It will be imported as/exported from AnnotationSpec's display name, i.e. the name of the label/class. annotationResourceLabels: description: Resource labels on the Annotation. type: object additionalProperties: type: string dataItemResourceLabels: description: Resource labels on the DataItem. type: object additionalProperties: type: string
Eingabedateien
JSON Lines
JSON in jeder Zeile:
{ "imageGcsUri": "gs://bucket/filename.ext", "classificationAnnotation": { "displayName": "LABEL", "annotationResourceLabels": { "aiplatform.googleapis.com/annotation_set_name": "displayName", "env": "prod" } }, "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training/test/validation" } }
Feldhinweise:
imageGcsUri
: Das einzige Pflichtfeld.annotationResourceLabels
: Kann beliebig viele Schlüssel/Wert-Stringpaare enthalten. Das einzige vom System reservierte Schlüssel/Wert-Paar ist:- "aiplatform.googleapis.com/annotation_set_name" : "value"
Dabei ist value einer der Anzeigenamen der vorhandenen Annotationssätze im Dataset.
dataItemResourceLabels
: Kann beliebig viele Schlüssel/Wert-Stringpaare enthalten. Das einzige vom System reservierte Schlüssel/Wert-Paar ist das im Folgenden aufgeführte Paar, das den Nutzungssatz des Datenelements für das maschinelle Lernen angibt:- "aiplatform.googleapis.com/ml_use" : "training/test/validation"
Beispiel für JSON Lines – image_classification_single_label.jsonl
:
{"imageGcsUri": "gs://bucket/filename1.jpeg", "classificationAnnotation": {"displayName": "daisy"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}} {"imageGcsUri": "gs://bucket/filename2.gif", "classificationAnnotation": {"displayName": "dandelion"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}} {"imageGcsUri": "gs://bucket/filename3.png", "classificationAnnotation": {"displayName": "roses"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}} {"imageGcsUri": "gs://bucket/filename4.bmp", "classificationAnnotation": {"displayName": "sunflowers"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}} {"imageGcsUri": "gs://bucket/filename5.tiff", "classificationAnnotation": {"displayName": "tulips"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}} ...
CSV
CSV-Format:
[ML_USE],GCS_FILE_PATH,[LABEL]
ML_USE
(optional) – Für das Aufteilen von Daten beim Training eines Modells. Verwenden Sie TRAINING, TEST oder VALIDATION. Weitere Informationen zur manuellen Datenaufteilung finden Sie unter Datenaufteilungen für AutoML-Modelle.GCS_FILE_PATH
. Dieses Feld enthält den Cloud Storage-URI für das Video. Bei Cloud Storage-URIs wird zwischen Groß- und Kleinschreibung unterschieden.LABEL
(Optional) - Labels müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Unterstriche enthalten.
CSV-Beispieldatei - image_classification_single_label.csv
:
test,gs://bucket/filename1.jpeg,daisy training,gs://bucket/filename2.gif,dandelion gs://bucket/filename3.png gs://bucket/filename4.bmp,sunflowers validation,gs://bucket/filename5.tiff,tulips ...
Klassifizierung mit mehreren Labels
Datenanforderungen
- Trainingsdaten: Die folgenden Bildformate werden beim Trainieren Ihres Modells unterstützt. Nachdem die Vertex AI API die importierten Bilder vorverarbeitet hat, dienen sie als Daten, die zum Trainieren eines Modells verwendet werden. Die maximale Dateigröße pro Bild beträgt 30 MB.
- JPEG
- GIF
- PNG
- BMP
- ICO
- Vorhersagedaten: Die folgenden Bildformate werden unterstützt, wenn Sie eine Vorhersage (für die Abfrage) Ihres Modells anfordern. Die maximale Dateigröße beträgt 1,5 MB.
- JPEG
- GIF
- PNG
- WEBP
- BMP
- TIFF
- ICO
- AutoML-Modelle sind für Fotos von Objekten aus dem richtigen Leben optimiert.
- Die Trainingsdaten sollten den Daten, für die Vorhersagen getroffen werden sollen, möglichst ähnlich sein. Wenn Ihr Anwendungsfall beispielsweise verschwommene Bilder mit niedriger Auflösung (etwa von einer Überwachungskamera) beinhaltet, sollten Ihre Trainingsdaten aus verschwommenen Bildern mit niedriger Auflösung bestehen. Sie sollten außerdem mehrere Blickwinkel, Auflösungen und Hintergründe für Ihre Trainingsbilder bereitstellen.
- Vertex AI-Modelle können in der Regel keine Labels vorhersagen, die von Menschen nicht zugewiesen werden können. Wenn also ein Mensch nicht darin unterwiesen werden kann, beim Betrachten eines Bildes innerhalb von 1 bis 2 Sekunden ein Label zuzuweisen, kann Ihr Modell wahrscheinlich auch nicht darin trainiert werden.
- Wir empfehlen ca. 1.000 Trainingsbilder pro Label. Die Mindestanzahl pro Label ist 10. Im Allgemeinen sind mehr Beispiele pro Label nötig, um Modelle mit mehreren Labels pro Bild zu trainieren. Die Ergebnisse sind dann schwieriger zu interpretieren.
- Das Modell funktioniert am besten, wenn für das am häufigsten verwendete Label höchstens 100 Mal mehr Bilder vorhanden sind als für das am wenigsten verwendete Label. Es wird empfohlen, Labels mit sehr geringer Häufigkeit zu entfernen.
- Schließen Sie nach Möglichkeit ein Label vom Typ None_of_the_above und Bilder ein, die keinem Ihrer definierten Labels entsprechen. Beispielsweise können Sie bei einem Blumen-Dataset Bilder von Blumen einschließen, die keinem der definierten Labels entsprechen, und dann ihnen das Label None_of_the_above geben.
Best Practices für Bilddaten zum Trainieren von AutoML-Modellen
Die folgenden Best Practices gelten für Datasets, die Modelle mithilfe von AutoML trainieren.
YAML-Schemadatei
Verwenden Sie die folgende öffentlich zugängliche Schemadatei, um Annotationen für die Bildklassifizierung mit mehreren Labels zu importieren. Diese Schemadatei bestimmt das Format der Dateneingabedateien. Die Struktur dieser Datei folgt dem OpenAPI-Schema.
Vollständige Schemadatei
title: ImageClassificationMultiLabel description: > Import and export format for importing/exporting images together with multi-label classification annotations. Can be used in Dataset.import_schema_uri field. type: object required: - imageGcsUri properties: imageGcsUri: type: string description: > A Cloud Storage URI pointing to an image. Up to 30MB in size. Supported file mime types: `image/jpeg`, `image/gif`, `image/png`, `image/webp`, `image/bmp`, `image/tiff`, `image/vnd.microsoft.icon`. classificationAnnotations: type: array description: Multiple classification Annotations on the image. items: type: object description: Classification annotation. properties: displayName: type: string description: > It will be imported as/exported from AnnotationSpec's display name, i.e. the name of the label/class. annotationResourceLabels: description: Resource labels on the Annotation. type: object additionalProperties: type: string dataItemResourceLabels: description: Resource labels on the DataItem. type: object additionalProperties: type: string
Eingabedateien
JSON Lines
JSON in jeder Zeile:
{ "imageGcsUri": "gs://bucket/filename.ext", "classificationAnnotations": [ { "displayName": "LABEL1", "annotationResourceLabels": { "aiplatform.googleapis.com/annotation_set_name":"displayName", "label_type": "flower_type" } }, { "displayName": "LABEL2", "annotationResourceLabels": { "aiplatform.googleapis.com/annotation_set_name":"displayName", "label_type": "image_shot_type" } } ], "dataItemResourceLabels": { "aiplatform.googleapis.com/ml_use": "training/test/validation" } }
Feldhinweise:
imageGcsUri
: Das einzige Pflichtfeld.annotationResourceLabels
: Kann beliebig viele Schlüssel/Wert-Stringpaare enthalten. Das einzige vom System reservierte Schlüssel/Wert-Paar ist:- "aiplatform.googleapis.com/annotation_set_name" : "value"
Dabei ist value einer der Anzeigenamen der vorhandenen Annotationssätze im Dataset.
dataItemResourceLabels
: Kann beliebig viele Schlüssel/Wert-Stringpaare enthalten. Das einzige vom System reservierte Schlüssel/Wert-Paar ist das im Folgenden aufgeführte Paar, das den Nutzungssatz des Datenelements für das maschinelle Lernen angibt:- "aiplatform.googleapis.com/ml_use" : "training/test/validation"
Beispiel für JSON Lines – image_classification_multi_label.jsonl
:
{"imageGcsUri": "gs://bucket/filename1.jpeg", "classificationAnnotations": [{"displayName": "daisy"}, {"displayName": "full_shot"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}} {"imageGcsUri": "gs://bucket/filename2.gif", "classificationAnnotations": [{"displayName": "dandelion"}, {"displayName": "medium_shot"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}} {"imageGcsUri": "gs://bucket/filename3.png", "classificationAnnotations": [{"displayName": "roses"}, {"displayName": "extreme_closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}} {"imageGcsUri": "gs://bucket/filename4.bmp", "classificationAnnotations": [{"displayName": "sunflowers"}, {"displayName": "closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}} {"imageGcsUri": "gs://bucket/filename5.tiff", "classificationAnnotations": [{"displayName": "tulips"}, {"displayName": "extreme_closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}} ...
CSV
CSV-Format:
[ML_USE],GCS_FILE_PATH,[LABEL1,LABEL2,...LABELn]
ML_USE
(optional) – Für das Aufteilen von Daten beim Training eines Modells. Verwenden Sie TRAINING, TEST oder VALIDATION. Weitere Informationen zur manuellen Datenaufteilung finden Sie unter Datenaufteilungen für AutoML-Modelle.GCS_FILE_PATH
. Dieses Feld enthält den Cloud Storage-URI für das Video. Bei Cloud Storage-URIs wird zwischen Groß- und Kleinschreibung unterschieden.LABEL
(Optional) - Labels müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Unterstriche enthalten.
CSV-Beispieldatei - image_classification_multi_label.csv
:
test,gs://bucket/filename1.jpeg,daisy,full_shot training,gs://bucket/filename2.gif,dandelion,medium_shot gs://bucket/filename3.png gs://bucket/filename4.bmp,sunflowers,closeup validation,gs://bucket/filename5.tiff,tulips,extreme_closeup ...