Vertex AI consente di esportare i metadati e i set di annotazioni da una risorsa Dataset
. Questa funzionalità può essere utile se vuoi mantenere un record di una raccolta specifica di modifiche, aggiunte o eliminazioni di annotazioni.
Quando esporti un oggetto Dataset
, Vertex AI crea uno o più file
JSON Lines
che contengono le annotazioni e i metadati di Dataset
e salva questi
file JSON in una directory Cloud Storage di tua scelta.
Puoi esportare immagini, testo e video di Dataset
. Non puoi esportare
risorse tabulari Dataset
.
L'esportazione di un elemento Dataset
non crea copie aggiuntive dei dati di immagini, testo o video su cui si basa l'elemento Dataset
. I file di righe JSON creati dai processi di esportazione includono gli URI Cloud Storage originali dei dati specificati quando li hai importati in Dataset
.
Esporta un file 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
Nella sezione Vertex AI della console Google Cloud, vai alla pagina Set di dati.
Nell'elenco a discesa Regione, seleziona la località in cui è archiviato
Dataset
.Trova la riga di
Dataset
. Puoi esportare metadati e annotazioni per tutti i set di annotazioni o per un set di annotazioni specifico:Se vuoi esportare metadati e annotazioni per tutti i set di annotazioni di
Dataset
, fai clic su Visualizza altro e poi su Esporta set di dati.Questo indica a Vertex AI di creare un set di file JSON Lines per ogni set di annotazioni.
Se vuoi esportare metadati e annotazioni per un set di annotazioni specifico:
Fai clic su Espandi nodo
per visualizzare le righe per ciascuno dei set di annotazioni diDataset
.Nella riga del set di annotazioni che vuoi esportare, fai clic su Mostra altro
e poi su Esporta set di annotazioni.
Questo indica a Vertex AI di creare un set di file JSON Lines per il set di annotazioni specificato.
Nella finestra di dialogo Esporta dati, inserisci una directory Cloud Storage in cui vuoi che Vertex AI salvi i file JSON Lines esportati. Fai clic su Esporta.
REST
Recupera l'ID di Dataset
Per esportare un Dataset
, devi conoscere l'ID numerico di Dataset
. Se conosci il nome visualizzato di Dataset
, ma non l'ID, espandi la sezione seguente per scoprire come ottenere l'ID utilizzando l'API:
Recupera un ID Dataset
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:
arricciatura
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 seguente risposta di esempio è 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 ottenere l'ID di Dataset
dalla console Google Cloud:
Vai alla pagina Set di dati di Vertex AI e trova il numero nella colonna
ID.
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 di
Dataset
.EXPORT_DIRECTORY: URI Cloud Storage (a partire da
gs://
) di una directory in cui vuoi che Vertex AI salvi i file JSON Lines esportati. Deve trovarsi in un bucket Cloud Storage a cui hai accesso, ma la directory non deve ancora esistere.FILTER: una stringa di filtro che determina quali set di annotazioni esportare.
Se vuoi esportare metadati e annotazioni per tutti i set di annotazioni di
Dataset
, sostituisci FILTER con una stringa vuota (oppure ometti del tutto il campoannotationsFilter
dal corpo della richiesta). Questo indica a Vertex AI di creare un set di file JSON per ogni set di annotazioni.Se vuoi esportare metadati e annotazioni per un set di annotazioni specifico, sostituisci FILTER con quanto segue:
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
Questo indica a Vertex AI di creare un set 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 il valore che segue
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:
arricciatura
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. Queste richieste restituiscono un nome operazione, che puoi utilizzare per visualizzare lo stato dell'operazione o per annullarla. Vertex AI fornisce metodi helper per effettuare chiamate a operazioni a lunga esecuzione. Per maggiori informazioni, consulta Operazioni a lunga esecuzione.
Informazioni sui file esportati
All'interno della directory di esportazione specificata nella sezione precedente, Vertex AI crea una nuova directory con il nome visualizzato e un timestamp di Dataset
, ad esempio export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z
.
In 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 elemento di dati può contenere metadati e annotazioni che hai specificato quando hai importato i dati in Vertex AI, nonché i metadati e le annotazioni che hai aggiunto dopo l'importazione dei dati. Ad esempio, se hai richiesto l'etichettatura dei dati per Dataset
o se hai aggiunto manualmente etichette o annotazioni a Dataset
nella console Google Cloud, queste informazioni sono 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 più set di annotazioni, un file JSON Lines potrebbe contenere un elemento di dati con un'annotazione di classificazione con una singola etichetta; un altro file JSON Lines per un diverso set di annotazioni potrebbe contenere lo stesso elemento di dati, ma con un'annotazione di rilevamento degli oggetti.
Il formato dei file esportati corrisponde al formato dei file di importazione
delle linee JSON che puoi utilizzare per
importare dati in Vertex AI.
Questo formato dipende dal tipo di dati (immagine, tabulari, testo, video) e dall'obiettivo (ad esempio monitoraggio di oggetti, estrazione delle entità o classificazione).
Ad esempio, se esporti un set di annotazioni per la classificazione di immagini con etichetta singola, ogni riga di ogni file JSON Lines viene formattata in base al file di schema gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
, come descritto in Preparazione dei dati delle immagini.
Per scoprire di più sui diversi formati delle righe JSON per i diversi tipi di set di annotazioni, consulta le seguenti guide:
Passaggi successivi
- Scopri come richiedere l'etichettatura dei dati.
- Scopri di più sull'utilizzo dei set di dati in Vertex AI.