Vertex AI te permite exportar los conjuntos de anotaciones y metadatos desde un recurso Dataset
. Esta función puede ser útil si deseas 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 más archivos de líneas JSON que contienen los metadatos y las anotaciones de tu Dataset
, y guarda estos archivos de líneas de JSON en el directorio de Cloud Storage que elijas.
Puedes exportar recursos de Dataset
de imagen, texto y video. No puedes exportar recursos de Dataset
tabulares.
Cuando exportas Dataset
, no se crean copias adicionales de los datos de imagen, texto o video en los que se basa tu Dataset
. Los archivos de líneas JSONL que crean los procesos de exportación incluyen los URI originales de Cloud Storage para los datos que especificaste cuando importaste esos datos a Dataset
.
Exportar un Dataset
mediante la consola de Google Cloud o la API
Puedes usar la consola de Google Cloud o la API de Vertex AI para exportar un Dataset
.
Sigue los pasos en la pestaña correspondiente:
Console
En la sección Vertex AI de la consola de Google Cloud, ve 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 del
Dataset
. Puedes exportar metadatos y anotaciones para todos los conjuntos de anotaciones o un conjunto de anotaciones específico:Si quieres exportar metadatos y anotaciones para todos los conjuntos de anotaciones de
Dataset
, haz clic en Ver más y, luego, haz clic en Exportar conjunto de datos.Mediante esta acción, se le pide a Vertex AI crear un conjunto de archivos de líneas JSON para cada conjunto de anotaciones.
Si deseas exportar metadatos y anotaciones para un conjunto de anotaciones específico, haz lo siguiente:
Haz clic en Expandir nodo
para ver las filas de cada conjunto de anotaciones deDataset
.En la fila del conjunto de anotaciones que deseas exportar, haz clic en Ver más
y, luego, en Exportar conjunto de anotaciones.
Mediante esta acción, se le pide a Vertex AI crear un conjunto de archivos de líneas JSON para el conjunto de anotaciones que especifiques.
En el cuadro de diálogo Exportar datos, ingresa un directorio de Cloud Storage en el que quieras que Vertex AI guarde los archivos de líneas JSONL exportados. Haz clic en Exportar.
REST
Obtén el ID del Dataset
Para exportar un Dataset
, debes conocer el ID numérico de Dataset
. Si conoces el nombre visible del Dataset
, pero no su ID, expande la siguiente sección para saber cómo obtener el ID con la API:
Obtén un ID de conjunto de datos desde su nombre visible
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
LOCATION: Es la ubicación en la que se almacena
Dataset
. Por ejemplo,us-central1
.PROJECT_ID: El ID del proyecto.
DATASET_DISPLAY_NAME: es el 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 siguiente 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
Ejecuta el siguiente 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 siguiente respuesta de ejemplo se truncó con ...
para destacar dónde puedes encontrar el ID de tu Dataset
: es el número que toma el lugar de DATASET_ID.
{ "datasets": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID", "displayName": "DATASET_DISPLAY_NAME", ... } ] }
Como alternativa, puedes obtener el ID del Dataset
desde la consola de Google Cloud:
Ve a la página Conjuntos de datos de Vertex AI y encuentra el número en la columna ID.
Ir a la página Conjuntos de datos
Exportar uno o más conjuntos de anotaciones
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
LOCATION: Es la ubicación en la que se almacena
Dataset
. Por ejemplo,us-central1
.PROJECT_ID: El ID del proyecto.
DATASET_ID: es el ID numérico del
Dataset
.EXPORT_DIRECTORY: es el URI de Cloud Storage (que comienza con
gs://
) de un directorio en el que quieres que Vertex AI guarde los archivos de líneas JSONL exportados. Debe estar en un bucket de Cloud Storage al que puedas acceder, aunque no hace falta que el directorio ya esté creado.FILTER: es una string de filtro que determina qué conjuntos de anotaciones se exportan.
Si quieres exportar metadatos y anotaciones para todos los conjuntos de anotaciones del
Dataset
, reemplaza FILTER por una string vacía (u omite el campoannotationsFilter
del cuerpo de la solicitud por completo). Mediante esta acción, se le pide a Vertex AI crear un conjunto de archivos de líneas JSON para cada conjunto de anotaciones.Si deseas exportar metadatos y anotaciones para un conjunto de anotaciones específico, reemplaza FILTER por lo siguiente:
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
Mediante esta acción, se le pide a Vertex AI que cree un conjunto de archivos de líneas JSONL para el conjunto de anotaciones con el ID numérico ANNOTATION_SET_ID.
Para encontrar el ID numérico del conjunto de anotaciones que deseas especificar, visualiza el conjunto de anotaciones en la consola de Google Cloud y busca el valor que le sigue a
annotationSetId
en la URL.
HTTP method and 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 que se muestra a continuación:
{ "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 en operaciones de larga duración. Para obtener más información, consulta Trabaja con operaciones de larga duración.
Explicación de los archivos exportados
Dentro del directorio de exportación que especificaste en la sección anterior, Vertex AI crea un directorio nuevo etiquetado con el nombre visible y una marca de tiempo de Dataset
, por ejemplo, export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z
.
Dentro de este directorio, puedes encontrar un subdirectorio para cada conjunto de anotaciones que exportaste.
Para cada conjunto de anotaciones, puedes encontrar uno o más archivos de líneas JSON. Cada fila de cada archivo de líneas JSON representa un elemento de datos del conjunto de anotaciones. Cada elemento de datos puede contener los metadatos y las anotaciones que especificaste cuando importaste los datos a Vertex AI, así como los metadatos y las anotaciones que agregaste después de importar los datos. Por ejemplo, si solicitaste el etiquetado de datos de tu Dataset
o si agregaste etiquetas o anotaciones de forma manual a Dataset
en la consola de Google Cloud, entonces esta información se incluye en los archivos exportados.
Si exportas varios conjuntos de anotaciones, los mismos elementos de datos pueden aparecer en varios archivos de líneas JSON. Por ejemplo, si exportas una imagen Dataset
con varios conjuntos de anotaciones, un archivo de líneas JSONL puede contener un elemento de datos con una anotación de clasificación de una sola etiqueta. Otro archivo de líneas JSONL para un conjunto de anotaciones diferente podría contener el mismo elemento de datos, pero con una anotación de detección de objetos en su lugar.
El formato de los archivos exportados coincide con el formato de los archivos de importación de líneas JSONL que puedes usar para importar datos a Vertex AI.
Este formato depende del tipo de datos (imagen, tabular, de texto, de video) 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, a cada línea de cada archivo de líneas JSONL se le asigna el formato según el archivo de esquema gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
, como se describe en Prepara datos de imagen.
Consulta las siguientes guías a fin de obtener más información sobre los diferentes formatos de líneas JSON para diferentes tipos de conjuntos de anotaciones:
¿Qué sigue?
- Obtén información para solicitar el etiquetado de datos.
- Obtén más información para trabajar con conjuntos de datos en Vertex AI.