Exportar metadatos y anotaciones de un conjunto de datos

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 Datasetimagen, 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

  1. En la Google Cloud consola, en la sección Vertex AI, vaya a la página Conjuntos de datos.

    Ve a la página Conjuntos de datos.

  2. En la lista desplegable Región, selecciona la ubicación en la que se almacena el Dataset.

  3. 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:

      1. Haga clic en Desplegar nodo para mostrar las filas de cada uno de los conjuntos de anotaciones de Dataset.

      2. 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.

  4. 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 Datasetconjunto 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 campo annotationsFilter 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.yamlarchivo 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