Verwaltete Datasets verwenden

Auf dieser Seite erfahren Sie, wie Sie mithilfe von verwalteten Vertex AI-Datasets Ihre benutzerdefinierten Modelle trainieren. Verwaltete Datasets bieten folgende Vorteile:

  • Verwalten Sie Ihre Datasets an einem zentralen Ort.
  • Erstellen Sie ganz einfach Labels und mehrere Annotationssätze.
  • Erstellen Sie Aufgaben mit Beschriftungen durch Menschen mithilfe von integrierten Daten-Labeling.
  • Verfolgen Sie die Herkunft von Modellen für Governance und iterative Entwicklung.
  • Vergleichen Sie die Modellleistung, indem Sie AutoML- und benutzerdefinierte Modelle mit denselben Datasets trainieren.
  • Generieren Sie Datenstatistiken und Visualisierungen.
  • Teilen Sie Daten automatisch in Trainings-, Test- und Validierungs-Datasets auf.

Vorbereitung

Bevor Sie in Ihrer Trainingsanwendung ein verwaltetes Dataset verwenden können, müssen Sie das Dataset erstellen. Sie müssen das Dataset und die Trainingspipeline erstellen, die Sie für das Training in derselben Region verwenden. Sie müssen eine Region verwenden, in der Dataset-Ressourcen verfügbar sind.

Über die Trainingsanwendung auf ein Dataset zugreifen

Wenn Sie eine benutzerdefinierte Trainingspipeline erstellen, können Sie festlegen, dass Ihre Trainingsanwendung ein Vertex AI-Dataset verwendet.

Zur Laufzeit übergibt Vertex AI Metadaten über Ihr Dataset an Ihre Trainingsanwendung, indem die folgenden Umgebungsvariablen im Trainingscontainer festgelegt werden.

  • AIP_DATA_FORMAT: Das Format, in das das Dataset exportiert wird. Mögliche Werte sind jsonl, csv oder bigquery.
  • AIP_TRAINING_DATA_URI: Der BigQuery-URI der Trainingsdaten oder der Cloud Storage-URI der Trainingsdatendatei.
  • AIP_VALIDATION_DATA_URI: Der BigQuery-URI für Ihre Validierungsdaten oder der Cloud Storage-URI der Validierungsdatendatei.
  • AIP_TEST_DATA_URI: Der BigQuery-URI für Ihre Testdaten oder der Cloud Storage-URI der Testdatendatei.

Wenn das AIP_DATA_FORMAT Ihres Datasets jsonl oder csv ist, beziehen sich die Daten-URI-Werte auf Cloud Storage-URIs wie gs://bucket_name/path/training-*. Um die Größe jeder Datendatei relativ klein zu halten, teilt Vertex AI Ihr Dataset in mehrere Dateien auf. Da die Trainings-, Validierungs- und Testdaten in mehrere Dateien aufgeteilt werden können, werden die URIs im Platzhalterformat bereitgestellt.

Weitere Informationen zum Herunterladen von Objekten mit Cloud Storage-Codebeispielen.

Wenn das AIP_DATA_FORMAT bigquery ist, beziehen sich die Daten-URI-Werte auf BigQuery-URIs wie bq://project.dataset.table.

Weitere Informationen über das Blättern in BigQuery-Daten.

Dataset-Format

In den folgenden Abschnitten erfahren Sie, wie Vertex AI Ihre Daten beim Übergeben eines Datasets an Ihre Trainingsanwendung formatiert.

Bild-Datasets

Bild-Datasets werden im JSON Lines-Format an Ihre Trainingsanwendung übergeben. Wählen Sie den Tab für das Ziel Ihres Datasets aus, um mehr darüber zu erfahren, wie Vertex AI Ihr Dataset formatiert.

Klassifizierung mit einem einzigen Label

Vertex AI verwendet beim Exportieren eines Bildklassifizierungs-Datasets mit einem Label das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.


{
  "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 ist der Cloud Storage-URI dieses Bilds.
  • annotationResourceLabels: Enthält eine beliebige Anzahl von Schlüssel/Wert-Paar-String-Paaren. Vertex AI verwendet dieses Feld, um den Annotationssatz anzugeben.
  • dataItemResourceLabels: Enthält eine beliebige Anzahl von Schlüssel/Wert-Paar-String-Paaren. Gibt die ML-Nutzung des Datenelements an, z. B. Training, Test oder Validierung.

Beispiel für JSON Lines


{"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"}}
...

Klassifizierung mit mehreren Labels

Vertex AI verwendet beim Exportieren eines Bildklassifizierungs-Datasets mit mehreren Labels das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_multi_label_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.


{
  "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 ist der Cloud Storage-URI dieses Bilds.
  • annotationResourceLabels: Enthält eine beliebige Anzahl von Schlüssel/Wert-Paar-String-Paaren. Vertex AI verwendet dieses Feld, um den Annotationssatz anzugeben.
  • dataItemResourceLabels: Enthält eine beliebige Anzahl von Schlüssel/Wert-Paar-String-Paaren. Gibt die ML-Nutzung des Datenelements an, z. B. Training, Test oder Validierung.

Beispiel für JSON Lines


{"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"}}
...

Objekterkennung

Vertex AI verwendet beim Exportieren eines Objekterkennungs-Datasets das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/image_bounding_box_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.


{
  "imageGcsUri": "gs://bucket/filename.ext",
  "boundingBoxAnnotations": [
    {
      "displayName": "OBJECT1_LABEL",
      "xMin": "X_MIN",
      "yMin": "Y_MIN",
      "xMax": "X_MAX",
      "yMax": "Y_MAX",
      "annotationResourceLabels": {
        "aiplatform.googleapis.com/annotation_set_name": "displayName",
        "env": "prod"
      }
    },
    {
      "displayName": "OBJECT2_LABEL",
      "xMin": "X_MIN",
      "yMin": "Y_MIN",
      "xMax": "X_MAX",
      "yMax": "Y_MAX"
    }
  ],
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "test/train/validation"
  }
}

Feldhinweise:

  • imageGcsUri ist der Cloud Storage-URI dieses Bilds.
  • annotationResourceLabels: Enthält eine beliebige Anzahl von Schlüssel/Wert-Paar-String-Paaren. Vertex AI verwendet dieses Feld, um den Annotationssatz anzugeben.
  • dataItemResourceLabels: Enthält eine beliebige Anzahl von Schlüssel/Wert-Paar-String-Paaren. Gibt die ML-Nutzung des Datenelements an, z. B. Training, Test oder Validierung.

Beispiel für JSON Lines


{"imageGcsUri": "gs://bucket/filename1.jpeg", "boundingBoxAnnotations": [{"displayName": "Tomato", "xMin": "0.3", "yMin": "0.3", "xMax": "0.7", "yMax": "0.6"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "boundingBoxAnnotations": [{"displayName": "Tomato", "xMin": "0.8", "yMin": "0.2", "xMax": "1.0", "yMax": "0.4"},{"displayName": "Salad", "xMin": "0.0", "yMin": "0.0", "xMax": "1.0", "yMax": "1.0"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "boundingBoxAnnotations": [{"displayName": "Baked goods", "xMin": "0.5", "yMin": "0.7", "xMax": "0.8", "yMax": "0.8"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.tiff", "boundingBoxAnnotations": [{"displayName": "Salad", "xMin": "0.1", "yMin": "0.2", "xMax": "0.8", "yMax": "0.9"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...

Tabellarische Datensätze

Vertex AI übergibt tabellarische Daten im CSV-Format oder als URI an eine BigQuery-Tabelle oder -Ansicht an Ihre Trainingsanwendung. Weitere Informationen zum Format und zu den Anforderungen der Datenquelle finden Sie unter Importquelle vorbereiten. Weitere Informationen zum Dataset-Schema finden Sie unter dem Dataset in der Google Cloud Console.

Text-Datasets

Text-Datasets werden im JSON Lines-Format an Ihre Trainingsanwendung übergeben. Wählen Sie den Tab für das Ziel Ihres Datasets aus, um mehr darüber zu erfahren, wie Vertex AI Ihr Dataset formatiert.

Klassifizierung mit einem einzigen Label

Vertex AI verwendet beim Exportieren eines Textklassifizierungs-Datasets mit einem Label das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_single_label_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.

{
  "classificationAnnotation": {
    "displayName": "label"
  },
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "classificationAnnotation": {
    "displayName": "label2"
  },
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

Klassifizierung mit mehreren Labels

Vertex AI verwendet beim Exportieren eines Textklassifizierungs-Datasets mit mehreren Labels das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_multi_label_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.

{
  "classificationAnnotations": [{
    "displayName": "label1"
    },{
    "displayName": "label2"
  }],
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "classificationAnnotations": [{
    "displayName": "label2"
    },{
    "displayName": "label3"
  }],
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

Entitätsextraktion

Vertex AI verwendet beim Exportieren eines Entitätsextraktions-Datasets das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml.

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.

{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textContent": "inline_text",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}
{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textGcsUri": "gcs_uri_to_file",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}

Sentimentanalyse

Vertex AI verwendet beim Exportieren eines Sentimentanalyse-Datasets das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_sentiment_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.

{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

Video-Datasets

Video-Datasets werden im JSON Lines-Format an Ihre Trainingsanwendung übergeben. Wählen Sie den Tab für das Ziel Ihres Datasets aus, um mehr darüber zu erfahren, wie Vertex AI Ihr Dataset formatiert.

Aktionserkennung

Vertex AI verwendet beim Exportieren eines Aktionserkennungs-Datasets das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/video_action_recognition_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.


{
  "videoGcsUri': "gs://bucket/filename.ext",
  "timeSegments": [{
    "startTime": "start_time_of_fully_annotated_segment",
    "endTime": "end_time_of_segment"}],
  "timeSegmentAnnotations": [{
    "displayName": "LABEL",
    "startTime": "start_time_of_segment",
    "endTime": "end_time_of_segment"
  }],
  "dataItemResourceLabels": {
    "ml_use": "train|test"
  }
}

Hinweis: Die Zeitsegmente werden hier verwendet, um die Zeitstempel der Aktionen zu berechnen. startTime und endTime von timeSegmentAnnotations können gleich sein und entsprechen dem Schlüsselframe der Aktion.

Beispiel für JSON Lines


{"videoGcsUri": "gs://demo/video1.mp4", "timeSegmentAnnotations": [{"displayName": "cartwheel", "startTime": "1.0s", "endTime": "12.0s"}], "dataItemResourceLabels": {"ml_use": "training"}}
{"videoGcsUri": "gs://demo/video2.mp4", "timeSegmentAnnotations": [{"displayName": "swing", "startTime": "4.0s", "endTime": "9.0s"}], "dataItemResourceLabels": {"ml_use": "test"}}
...

Klassifizierung

Vertex AI verwendet beim Exportieren eines Klassifizierungs-Datasets das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/video_classification_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.


{
	"videoGcsUri": "gs://bucket/filename.ext",
	"timeSegmentAnnotations": [{
		"displayName": "LABEL",
		"startTime": "start_time_of_segment",
		"endTime": "end_time_of_segment"
	}],
	"dataItemResourceLabels": {
		"aiplatform.googleapis.com/ml_use": "train|test"
	}
}

Beispiel für JSON Lines – Videoklassifizierung:


{"videoGcsUri": "gs://demo/video1.mp4", "timeSegmentAnnotations": [{"displayName": "cartwheel", "startTime": "1.0s", "endTime": "12.0s"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"videoGcsUri": "gs://demo/video2.mp4", "timeSegmentAnnotations": [{"displayName": "swing", "startTime": "4.0s", "endTime": "9.0s"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
...

Objekt-Tracking

Vertex AI verwendet beim Exportieren eines Objekt-Tracking-Datasets das folgende öffentlich zugängliche Schema. Mit diesem Schema wird das Format der Datenexportdateien festgelegt. Die Struktur des Schemas entspricht dem OpenAPI-Schema.

gs://google-cloud-aiplatform/schema/dataset/ioformat/object_tracking_io_format_1.0.0.yaml

Jedes Datenelement in Ihrem exportierten Dataset verwendet das folgende Format. Dieses Beispiel nutzt Zeilenumbrüche für eine bessere Lesbarkeit.


{
	"videoGcsUri": "gs://bucket/filename.ext",
	"TemporalBoundingBoxAnnotations": [{
		"displayName": "LABEL",
		"xMin": "leftmost_coordinate_of_the_bounding box",
		"xMax": "rightmost_coordinate_of_the_bounding box",
		"yMin": "topmost_coordinate_of_the_bounding box",
		"yMax": "bottommost_coordinate_of_the_bounding box",
		"timeOffset": "timeframe_object-detected"
                "instanceId": "instance_of_object
                "annotationResourceLabels": "resource_labels"
	}],
	"dataItemResourceLabels": {
		"aiplatform.googleapis.com/ml_use": "train|test"
	}
}

Beispiel für JSON Lines


{'videoGcsUri': 'gs://demo-data/video1.mp4', 'temporal_bounding_box_annotations': [{'displayName': 'horse', 'instance_id': '-1', 'time_offset': '4.000000s', 'xMin': '0.668912', 'yMin': '0.560642', 'xMax': '1.000000', 'yMax': '1.000000'}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{'videoGcsUri': 'gs://demo-data/video2.mp4', 'temporal_bounding_box_annotations': [{'displayName': 'horse', 'instance_id': '-1', 'time_offset': '71.000000s', 'xMin': '0.679056', 'yMin': '0.070957', 'xMax': '0.801716', 'yMax': '0.290358'}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
...

Nächste Schritte