Esportazione di metadati e annotazioni da un set di dati

Vertex AI consente di esportare i metadati e i set di annotazioni da un Dataset risorsa. Questa funzionalità può essere utile se vuoi mantenere di una raccolta specifica di modifiche, aggiunte o eliminazioni delle annotazioni.

Quando esporti un Dataset, Vertex AI ne crea uno o più Righe JSON contenenti i metadati e le annotazioni di Dataset e li salva Righe JSON in una directory Cloud Storage a tua scelta.

Puoi esportare risorse Dataset di immagini, testo e video. Non puoi esportare delle risorse Dataset tabulari.

L'esportazione di un Dataset non crea ulteriori copie dell'immagine, del testo o dati video su cui si basa il tuo Dataset. I file JSON Lines creati dall'applicazione di esportazione includono gli URI Cloud Storage originali che hai specificato quando hai importato tali dati nel Dataset.

Esporta un Dataset utilizzando la console Google Cloud o l'API

Puoi utilizzare la console Google Cloud o l'API Vertex AI per esportare un Dataset. Segui i passaggi nella scheda corrispondente:

Console

  1. Nella console Google Cloud, nella sezione Vertex AI, vai a alla pagina Set di dati.

    Vai alla pagina Set di dati

  2. Nell'elenco a discesa Regione, seleziona la località in cui si trova Dataset archiviati.

  3. Trova la riga di Dataset. Puoi esportare metadati e annotazioni per tutti gli set di annotazioni o per un set di annotazioni specifico:

    • Se vuoi esportare metadati e annotazioni per tutti i Set di annotazioni di Dataset,poi fai clic su Visualizza altri e quindi fai clic su Esporta set di dati.

      Questo indica a Vertex AI di creare un insieme di file JSON Lines per per ogni set di annotazioni.

    • Se vuoi esportare metadati e annotazioni per un'annotazione specifica imposta, quindi procedi nel seguente modo:

      1. Fai clic su Espandi nodo per visualizzare le righe per ciascuno dei set di annotazioni di Dataset.

      2. Nella riga del set di annotazioni che vuoi esportare, fai clic su Visualizza altro e fai clic su Esporta set di annotazioni.

      Questo indica a Vertex AI di creare un insieme di file JSON Lines per il set di annotazioni specificato.

  4. Nella finestra di dialogo Esporta dati, inserisci una directory Cloud Storage in cui vuoi che Vertex AI salvi i file JSON Lines esportati. Clic Esporta.

REST

Recupera l'ID di Dataset

Per esportare un Dataset, devi conoscere l'ID numerico del Dataset. Se conoscere il nome visualizzato dell'Dataset ma non l'ID, espandi quanto segue per scoprire come ottenere l'ID utilizzando l'API:

Recuperare l'ID di un set di dati dal nome visualizzato

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la posizione in cui è archiviato Dataset. Ad esempio: us-central1.

  • PROJECT_ID: il tuo ID progetto.

  • DATASET_DISPLAY_NAME: il nome visualizzato di Dataset.

Metodo HTTP e URL:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo comando:

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

Esegui questo comando:

$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

La risposta di esempio seguente è stata troncata con ... per mettere in evidenza dove puoi trovare l'ID di Dataset: è il numero che sostituisce DATASET_ID.

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

In alternativa, puoi recuperare l'ID di Dataset dalla console Google Cloud: Vai alla pagina Set di dati di Vertex AI e cerca il numero nella Colonna ID.

Vai alla pagina Set di dati

Esporta uno o più set di annotazioni

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: la posizione in cui è archiviato Dataset. Ad esempio: us-central1.

  • PROJECT_ID: il tuo ID progetto.

  • DATASET_ID: l'ID numerico del valore Dataset.

  • EXPORT_DIRECTORY: URI Cloud Storage (che inizia con gs://) di una directory in cui vuoi che Vertex AI salvi il file file JSON Lines esportati. Deve trovarsi in un bucket Cloud Storage a cui puoi accedere, ma che non è necessario che esista ancora.

  • FILTER: una stringa di filtro che determina quale annotazione di set di dati vengono esportati.

    • Se vuoi esportare metadati e annotazioni per tutti i Set di annotazioni di Dataset, sostituisci FILTER con un campo vuoto (oppure ometti il campo annotationsFilter dal corpo della richiesta completamente). Questo indica a Vertex AI di creare un insieme di linee JSON per ogni set di annotazioni.

    • Se vuoi esportare metadati e annotazioni per un'annotazione specifica impostato, sostituisci FILTER con quanto segue:

      labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
      

      Questo indica a Vertex AI di creare un insieme di file JSON Lines per il set di annotazioni con l'ID numerico ANNOTATION_SET_ID.

      Per trovare l'ID numerico del set di annotazioni che vuoi specificare, visualizza il set di annotazioni nella console Google Cloud e cerca dopo annotationSetId nell'URL.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

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

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Alcune richieste avviano operazioni a lunga esecuzione il cui completamento richiede tempo. Questi restituiscono il nome di un'operazione, che puoi utilizzare per visualizzare o annullare l'operazione. Vertex AI offre metodi helper per effettuare chiamate a operazioni a lunga esecuzione. Per ulteriori informazioni, consulta la sezione Utilizzo di modelli operations.

Spiegazione dei file esportati

All'interno della directory di esportazione specificata nella sezione precedente, Vertex AI crea una nuova directory etichettata con il token Dataset un nome visualizzato e un timestamp; ad esempio export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z. All'interno di questa directory, puoi trovare una sottodirectory per ogni set di annotazioni che hai esportato.

Per ogni set di annotazioni, puoi trovare uno o più file JSON Lines. Ogni riga di Ogni file JSON Lines rappresenta un elemento di dati del set di annotazioni. Ogni dato l'elemento potrebbe contenere metadati e annotazioni che hai specificato al momento dell'importazione i dati a Vertex AI, nonché i metadati e le annotazioni che hai aggiunto dopo aver importato i dati. Ad esempio, se hai richiesto dati per Dataset o se aggiunte manualmente a Dataset di etichette o annotazioni nella console Google Cloud, queste informazioni vengono incluse nei file esportati.

Se esporti più set di annotazioni, gli stessi elementi di dati potrebbero essere visualizzati in più file JSON Lines. Ad esempio, se esporti un'immagine Dataset con set di annotazioni multiple, un file JSON Lines potrebbe contenere un elemento di dati con un un'annotazione di classificazione con un'unica etichetta; un altro file JSON Lines per un altro di annotazioni può contenere lo stesso elemento di dati, ma con un rilevamento di oggetti annotazione.

Il formato dei file esportati corrisponde a quello dell'importazione delle righe JSON che puoi utilizzare importare dati in Vertex AI. Questo formato dipende dal tipo di dati (immagine, tabulari, testo, video) e obiettivo (ad es. monitoraggio di oggetti, estrazione di entità o classificazione). Ad esempio, se esporti un set di annotazioni per un'immagine con etichetta singola classificazione, ogni riga di ogni file JSON Lines viene formattata alla gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml schema , come descritto in Preparazione dei dati immagine.

Per saperne di più sui diversi formati di righe JSON per tipi diversi di annotazioni, consulta le seguenti guide:

Passaggi successivi