Metadaten und Annotationen aus einem Dataset exportieren

Mit Vertex AI können Sie die Metadaten und Annotationssätze aus einer Dataset Ressource exportieren. Diese Funktion kann nützlich sein, wenn Sie eine Aufzeichnung über eine bestimmte Sammlung von Änderungen, Hinzufügungen oder Löschungen von Anmerkungen führen möchten.

Wenn Sie ein Dataset exportieren, erstellt Vertex AI eine oder mehrere JSON Lines-Dateien, die die Metadaten und Annotationen Ihres Dataset enthalten, und speichert diese JSON Lines-Dateien in einem Cloud Storage-Verzeichnis Ihrer Wahl.

Sie können Dataset-Ressourcen für Bilder, Text und Videos exportieren. Sie können keine tabellarischen Dataset-Ressourcen exportieren.

Beim Exportieren einer Dataset werden keine zusätzlichen Kopien des Bildes, Textes oder der Videodaten erstellt, auf denen dein Dataset basiert. Die beim Export erstellten JSON Lines-Dateien enthalten die ursprünglichen Cloud Storage-URIs für die Daten, die Sie beim Importieren dieser Daten in das Dataset angegeben haben.

Ein Dataset mit der Google Cloud Console oder der API exportieren

Sie können die Google Cloud Console oder die Vertex AI API verwenden, um ein Dataset zu exportieren. Folgen Sie der Anleitung auf dem entsprechenden Tab:

Console

  1. Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Datasets auf.

    Zur Seite „Datasets“

  2. Wählen Sie in der Drop-down-Liste Region den Ort aus, an dem der Dataset gespeichert ist.

  3. Suchen Sie die Zeile des Dataset. Sie können Metadaten und Annotationen für alle Annotationssätze oder für einen bestimmten Annotationssatz exportieren:

    • Wenn Sie Metadaten und Annotationen für alle Annotationssätze von Dataset exportieren möchten, klicken Sie auf Mehr ansehen und anschließend auf Dataset exportieren.

      Damit wird Vertex AI angewiesen, für jeden Annotationssatz eine Reihe von JSON-Lines-Dateien zu erstellen.

    • Wenn Sie Metadaten und Annotationen für einen bestimmten Annotationssatz exportieren möchten, gehen Sie so vor:

      1. Klicken Sie auf Knoten erweitern , um Zeilen für jeden Annotationssatz des Dataset anzuzeigen.

      2. Klicken Sie in der Zeile mit dem Annotationssatz, den Sie exportieren möchten, auf Mehr anzeigen und anschließend auf Annotationssatz exportieren.

      Damit wird Vertex AI angewiesen, eine Reihe von JSON Lines-Dateien für den von Ihnen angegebenen Annotationssatz zu erstellen.

  4. Geben Sie im Dialogfeld Daten exportieren ein Cloud Storage-Verzeichnis ein, in dem Vertex AI die exportierten JSON Lines-Dateien speichern soll. Klicken Sie auf Exportieren

REST

ID des Datasets abrufen

Um Dataset zu exportieren, benötigen Sie die numerische ID von Dataset. Wenn Sie den Anzeigenamen von Dataset, aber nicht die ID kennen, erweitern Sie den folgenden Abschnitt, um zu erfahren, wie Sie die ID mit der API abrufen:

ID eines Datasets aus dem Anzeigenamen abrufen

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Der Standort, an dem das Dataset gespeichert ist. Beispiel: us-central1

  • PROJECT_ID: Ihre Projekt-ID.

  • DATASET_DISPLAY_NAME: Der Anzeigename von Dataset.

HTTP-Methode und URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME"

PowerShell

Führen Sie folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME" | Select-Object -Expand Content

Die folgende Beispielantwort wurde mit ... gekürzt, um hervorzuheben, wo Sie die ID von Dataset finden. Sie ist die Nummer, die DATASET_ID ersetzt.

{
  "datasets": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID",
      "displayName": "DATASET_DISPLAY_NAME",
      ...
    }
  ]
}

Alternativ können Sie die ID des Dataset aus der Google Cloud Console abrufen: Rufen Sie die Vertex AI-Seite Datasets auf und suchen Sie die Nummer in der Spalte ID.

Zur Seite „Datasets“

Einen oder mehrere Anmerkungssätze exportieren

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Der Standort, an dem das Dataset gespeichert ist. Beispiel: us-central1

  • PROJECT_ID: Ihre Projekt-ID.

  • DATASET_ID: Die Numerische ID von Dataset.

  • EXPORT_DIRECTORY: Cloud Storage-URI (beginnend mit gs://) eines Verzeichnisses, in dem Vertex AI die exportierten JSON Lines-Dateien speichern soll. Dieses muss sich in einem Cloud Storage-Bucket befinden, auf den Sie Zugriff haben. Das Verzeichnis muss aber noch nicht vorhanden sein.

  • FILTER: Ein Filterstring, mit dem festgelegt wird, welche Annotationssätze exportiert werden.

    • Wenn Sie Metadaten und Anmerkungen für alle Annotationssätze des Datasets exportieren möchten, ersetzen Sie FILTER durch einen leeren String (oder lassen Sie das Feld annotationsFilter im Anfragetext ganz weg). Damit wird Vertex AI angewiesen, für jeden Annotationssatz eine Reihe von JSON-Lines-Dateien zu erstellen.

    • Wenn Sie Metadaten und Anmerkungen für einen bestimmten Annotationssatz exportieren möchten, ersetzen Sie FILTER durch Folgendes:

      labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
      

      Damit wird Vertex AI angewiesen, eine Reihe von JSON Lines-Dateien für den Annotationssatz mit der numerischen ID ANNOTATION_SET_ID zu erstellen.

      Um die numerische ID des Annotationssatzes zu ermitteln, den Sie angeben möchten, sehen Sie sich den Annotationssatz in der Google Cloud Console an und suchen Sie nach dem Wert nach annotationSetId in der URL.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export

JSON-Text der Anfrage:

{
  "exportConfig": {
    "gcsDestination": {
      "outputUriPrefix": "EXPORT_DIRECTORY"
    },
    "annotationsFilter": "FILTER"
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export" | Select-Object -Expand Content

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportDataOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-02-17T00:54:58.827429Z",
      "updateTime": "2021-02-17T00:54:58.827429Z"
    },
    "gcsOutputDirectory": "EXPORT_DIRECTORY/export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z"
  }
}

Einige Anfragen starten lang andauernde Vorgänge, die viel Zeit in Anspruch nehmen. Diese Anfragen geben einen Vorgangsnamen zurück, mit dem Sie den Status des Vorgangs aufrufen oder den Vorgang abbrechen können. Vertex AI stellt Hilfsmethoden bereit, um Aufrufe für Vorgänge mit langer Laufzeit auszuführen. Weitere Informationen finden Sie unter Mit lang andauernden Vorgängen arbeiten.

Erläuterung zu exportierten Dateien

Im Exportverzeichnis, das Sie im vorherigen Abschnitt angegeben haben, erstellt Vertex AI ein neues Verzeichnis mit dem Anzeigenamen von Dataset und einem Zeitstempel. Beispiel: export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z. In diesem Verzeichnis finden Sie ein Unterverzeichnis für jeden exportierten Annotationssatz.

Für jeden Annotationssatz finden Sie eine oder mehrere JSON Lines-Dateien. Jede Zeile einer JSON Lines-Datei stellt ein Datenelement aus dem Annotationssatz dar. Jedes Datenelement kann Metadaten und Annotationen enthalten, die Sie beim Importieren der Daten in Vertex AI angegeben haben, sowie Metadaten und Annotationen, die Sie nach dem Import der Daten hinzugefügt haben. Wenn Sie z. B. für Ihr Dataset eine Datenlabelerstellung angefordert haben oder wenn Sie dem Dataset in der Google Cloud Console manuell Labels oder Anmerkungen hinzugefügt haben, sind diese Informationen in den exportierten Dateien enthalten.

Wenn Sie mehrere Annotationssätze exportieren, können die gleichen Datenelemente in mehreren JSON Lines-Dateien enthalten sein. Wenn Sie beispielsweise ein Bild Dataset mit mehreren Annotationssätzen exportieren, enthält eine JSON Lines-Datei möglicherweise ein Datenelement mit einer Annotation für eine Klassifizierung mit einem einzigen Label. Eine andere JSON Lines-Datei für einen anderen Annotationssatz enthält möglicherweise das gleiche Datenelement, jedoch mit einer Objekterkennungsannotation.

Das Format der exportierten Dateien entspricht dem Format der JSON Lines-Importdateien, die Sie zum Importieren von Daten in Vertex AI verwenden können. Dieses Format hängt vom Datentyp (Bild, Tabelle, Text, Video) und von der Aufgabe (z. B. Objekt-Tracking, Entitätsextraktion oder Klassifizierung) ab. Wenn Sie beispielsweise einen Annotationssatz für die Klassifizierung von Bildern mit einem einzigen Label exportieren, wird jede Zeile jeder JSON Lines-Datei gemäß der Schemadatei gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml formatiert, wie unter Bilddaten vorbereiten erläutert.

In den folgenden Anleitungen finden Sie weitere Informationen zu den verschiedenen JSON Lines-Formaten für unterschiedliche Annotationssätze:

Nächste Schritte