Vertex AI le permite exportar los metadatos y los conjuntos de anotaciones de un recurso Dataset
. Esta función puede ser útil si quieres mantener un registro de una colección específica de cambios, adiciones o eliminaciones de anotaciones.
Cuando exportas un Dataset
, Vertex AI crea uno o varios archivos JSON Lines que contienen los metadatos y las anotaciones del Dataset
, y guarda estos archivos JSON Lines en un directorio de Cloud Storage que elijas.
Puedes exportar recursos de Dataset
imagen, texto y vídeo. No puedes exportar recursos tabulares Dataset
.
Al exportar un Dataset
, no se crean copias adicionales de los datos de imagen, texto o vídeo en los que se basa tu Dataset
. Los archivos JSON Lines creados por los procesos de exportación incluyen los URIs de Cloud Storage originales de los datos que especificaste al importar esos datos a la Dataset
.
Exportar un Dataset
con la Google Cloud consola o la API
Puedes usar la Google Cloud consola o la API de Vertex AI para exportar un Dataset
.
Sigue los pasos de la pestaña correspondiente:
Consola
En la Google Cloud consola, en la sección Vertex AI, vaya a la página Conjuntos de datos.
En la lista desplegable Región, selecciona la ubicación en la que se almacena el
Dataset
.Busca la fila de
Dataset
. Puede exportar metadatos y anotaciones de todos los conjuntos de anotaciones o de un conjunto de anotaciones específico:Si quieres exportar los metadatos y las anotaciones de todos los conjuntos de anotaciones de
Dataset
, haz clic en Ver más y, a continuación, en Exportar conjunto de datos.De esta forma, se indica a Vertex AI que cree un conjunto de archivos JSON Lines para cada conjunto de anotaciones.
Si quiere exportar los metadatos y las anotaciones de un conjunto de anotaciones específico, siga estos pasos:
Haga clic en Desplegar nodo
para mostrar las filas de cada uno de los conjuntos de anotaciones deDataset
.En la fila del conjunto de anotaciones que quieras exportar, haz clic en Ver más
y, a continuación, en Exportar conjunto de anotaciones.
De esta forma, se indica a Vertex AI que cree un conjunto de archivos JSON Lines para el conjunto de anotaciones que hayas especificado.
En el cuadro de diálogo Export data (Exportar datos), introduce un directorio de Cloud Storage en el que quieras que Vertex AI guarde los archivos JSON Lines exportados. Haz clic en Exportar.
REST
Obtener el ID de Dataset
Para exportar un Dataset
, debe conocer su ID numérico.Dataset
Si conoces el nombre visible del Dataset
, pero no el ID, consulta la siguiente sección para saber cómo obtener el ID mediante la API:
Obtener el ID de un conjunto de datos a partir de su nombre visible
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
LOCATION: la ubicación donde se almacena el
Dataset
. Por ejemplo,us-central1
.PROJECT_ID: tu ID de proyecto.
DATASET_DISPLAY_NAME: nombre visible del
Dataset
.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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 siguiente respuesta de ejemplo se ha truncado con ...
para destacar dónde puedes encontrar el ID de tu Dataset
: es el número que sustituye a DATASET_ID.
{ "datasets": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID", "displayName": "DATASET_DISPLAY_NAME", ... } ] }
También puedes obtener el ID del Dataset
conjunto de datos Google Cloud en la consola:
ve a la página Conjuntos de datos de Vertex AI y busca el número en la columna ID.
Ve a la página Conjuntos de datos.
Exportar uno o varios conjuntos de anotaciones
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
LOCATION: la ubicación donde se almacena el
Dataset
. Por ejemplo,us-central1
.PROJECT_ID: tu ID de proyecto.
DATASET_ID: ID numérico del
Dataset
.EXPORT_DIRECTORY: URI de Cloud Storage (que empieza por
gs://
) de un directorio en el que quieras que Vertex AI guarde los archivos JSON Lines exportados. Debe estar en un segmento de Cloud Storage al que tengas acceso, pero el directorio no tiene por qué existir aún.FILTER: cadena de filtro que determina qué conjuntos de anotaciones se exportan.
Si quieres exportar los metadatos y las anotaciones de todos los conjuntos de anotaciones de
Dataset
, sustituye FILTER por una cadena vacía (o elimina por completo el campoannotationsFilter
del cuerpo de la solicitud). De esta forma, se indica a Vertex AI que cree un conjunto de archivos JSON Lines para cada conjunto de anotaciones.Si quieres exportar los metadatos y las anotaciones de un conjunto de anotaciones específico, sustituye FILTER por lo siguiente:
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
De esta forma, se indica a Vertex AI que cree un conjunto de archivos JSON Lines para el conjunto de anotaciones con el ID numérico ANNOTATION_SET_ID.
Para encontrar el ID numérico del conjunto de anotaciones que quieras especificar, consulta el conjunto de anotaciones en la consola y busca el valor que sigue a
annotationSetId
en la URL. Google Cloud
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export
Cuerpo JSON de la solicitud:
{ "exportConfig": { "gcsDestination": { "outputUriPrefix": "EXPORT_DIRECTORY" }, "annotationsFilter": "FILTER" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" } }
Algunas solicitudes inician operaciones de larga duración que requieren tiempo para completarse. Estas solicitudes devuelven un nombre de operación que puedes usar para ver el estado de la operación o cancelarla. Vertex AI proporciona métodos auxiliares para hacer llamadas a operaciones de larga duración. Para obtener más información, consulta Trabajar con operaciones de larga duración.
Explicación de los archivos exportados
En el directorio de exportación que especificaste en la sección anterior, Vertex AI crea un directorio nuevo con el nombre visible de Dataset
y una marca de tiempo. Por ejemplo, export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z
.
En este directorio, encontrarás un subdirectorio para cada conjunto de anotaciones que hayas exportado.
En cada conjunto de anotaciones, puede encontrar uno o varios archivos JSON Lines. Cada fila de cada archivo JSON Lines representa un elemento de datos del conjunto de anotaciones. Cada elemento de datos puede contener metadatos y anotaciones que hayas especificado al importar los datos a Vertex AI, así como metadatos y anotaciones que hayas añadido después de importar los datos. Por ejemplo, si has solicitado el etiquetado de datos para tu Dataset
o si has añadido etiquetas o anotaciones manualmente al Dataset
en la consolaGoogle Cloud , esta información se incluirá en los archivos exportados.
Si exportas varios conjuntos de anotaciones, es posible que los mismos elementos de datos aparezcan en varios archivos JSON Lines. Por ejemplo, si exportas una imagen Dataset
con varios conjuntos de anotaciones, un archivo JSON Lines puede contener un elemento de datos con una anotación de clasificación de una sola etiqueta. Otro archivo JSON Lines de un conjunto de anotaciones diferente puede contener el mismo elemento de datos, pero con una anotación de detección de objetos.
El formato de los archivos exportados coincide con el formato de los archivos de importación JSON Lines que puedes usar para importar datos en Vertex AI.
Este formato depende del tipo de datos (imagen, tabla, texto o vídeo) y del objetivo (como el seguimiento de objetos, la extracción de entidades o la clasificación).
Por ejemplo, si exportas un conjunto de anotaciones para la clasificación de imágenes con una sola etiqueta, cada línea de cada archivo JSON Lines se formatea según el gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
archivo de esquema,
tal como se describe en Preparar datos de imagen.
Para obtener más información sobre los diferentes formatos de líneas JSON para distintos tipos de conjuntos de anotaciones, consulta las siguientes guías:
Siguientes pasos
- Consulte cómo solicitar el etiquetado de datos.
- Consulta más información sobre cómo trabajar con conjuntos de datos en Vertex AI.