Gestionar versiones de conjuntos de datos

Vertex AI te permite crear versiones de un conjunto de datos. Esta función puede ser útil para la reproducibilidad, la trazabilidad y la gestión del linaje de los conjuntos de datos.

Puedes crear versiones de conjuntos de datos de imágenes y de texto. Cuando creas una versión de un conjunto de datos, Vertex AI crea un conjunto de datos de BigQuery si no existe ninguno. El conjunto de datos de BigQuery almacena todas las versiones del conjunto de datos de Vertex AI asociado.

Cuando restauras una versión, se sobrescribe el conjunto de datos asociado. El conjunto de datos no estará disponible temporalmente para otras solicitudes hasta que finalice la operación de restauración.

Crear una versión de un conjunto de datos

Puedes usar la API de Vertex AI para crear una versión de un conjunto de datos. Sigue los pasos de la pestaña correspondiente:

REST

Obtener el ID del conjunto de datos

Para crear una versión, debes conocer el ID numérico del conjunto de datos. Si sabes el nombre visible del conjunto de datos, pero no el ID, despliega la siguiente sección para consultar cómo obtener el ID mediante la API:

Obtener el ID de un Dataset 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 conjunto de datos desde la Google Cloud 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.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • LOCATION: la región en la que se almacena la versión del conjunto de datos. Por ejemplo, us-central.

  • PROJECT_ID: tu ID de proyecto.

  • DATASET_ID: ID numérico del conjunto de datos.

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions"

PowerShell

Ejecuta el comando siguiente:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions" | 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.CreateDatasetVersionOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-02-17T00:54:58.827429Z",
      "updateTime": "2021-02-17T00:54:58.827429Z"
    },
  }
}

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.

Restaurar una versión de un conjunto de datos

Puedes usar la API de Vertex AI para restaurar una versión de un conjunto de datos. Sigue los pasos de la pestaña correspondiente:

REST

Obtener el ID de la versión del conjunto de datos

Para restaurar una versión, debes conocer su ID numérico. Puedes enumerar todas las versiones del conjunto de datos mediante la API:

Lista de Datasets de DatasetVersion

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • LOCATION: la región en la que se almacena la versión del conjunto de datos. Por ejemplo, us-central.

  • PROJECT_ID: tu ID de proyecto.

  • DATASET_ID: ID numérico del conjunto de datos.

Método HTTP y URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions

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/DATASET_ID/datasetVersions"

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/DATASET_ID/datasetVersions" | Select-Object -Expand Content

La siguiente respuesta de ejemplo se ha truncado con ... para destacar dónde puede encontrar el ID de la versión del conjunto de datos: es el número que sustituye a DATASET_VERSION_ID.

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

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • LOCATION: la región en la que se almacena la versión del conjunto de datos. Por ejemplo, us-central.

  • PROJECT_ID: tu ID de proyecto.

  • DATASET_ID: ID numérico del conjunto de datos.

  • DATASET_VERSION_ID: ID numérico de la versión del conjunto de datos.

Método HTTP y URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore

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/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore"

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/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore" | 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.RestoreDatasetVersionOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-02-17T00:54:58.827429Z",
      "updateTime": "2021-02-17T00:54:58.827429Z"
    },
  }
}

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.

Siguientes pasos

Consulta más información sobre cómo trabajar con conjuntos de datos en Vertex AI.