Gerenciar versões do conjunto de dados

Com a Vertex AI, é possível criar versões para um conjunto de dados. Essa funcionalidade pode ser útil para reprodutibilidade, rastreabilidade e gerenciamento de linhagem de conjuntos de dados.

Você pode criar versões para conjuntos de dados de imagem e texto. Quando você cria uma versão do conjunto de dados, a Vertex AI cria um conjunto de dados do BigQuery, se não houver nenhum. O conjunto de dados do BigQuery armazena todas as versões do conjunto de dados associado da Vertex AI.

Ao restaurar uma versão, você substitui o conjunto de dados associado. O conjunto de dados estará temporariamente indisponível para outras solicitações até o término da operação de restauração.

Criar uma versão do conjunto de dados

Use a API Vertex AI para criar uma versão do conjunto de dados. Siga as etapas na guia correspondente:

REST

Encontrar o ID do conjunto de dados

Para criar uma versão, você precisa saber o ID numérico do conjunto de dados. Se você sabe o nome de exibição do conjunto de dados, mas não o código, expanda a seção a seguir para saber como conseguir o ID usando a API:

Consiga o ID de Dataset a partir do nome de exibição

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: o local onde o Dataset é armazenado. Por exemplo, us-central1.

  • PROJECT_ID: o ID do projeto.

  • DATASET_DISPLAY_NAME: o nome de exibição do Dataset.

Método HTTP e URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte 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

execute o seguinte 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

A resposta de exemplo a seguir foi truncada com ... para enfatizar onde você pode encontrar o ID de Dataset: é o número que assume o lugar de DATASET_ID.

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

Como alternativa, é possível conseguir o ID do Console do Google Cloud: acesse a página Conjuntos de dados da Vertex AI e encontre o número na coluna ID.

Acessar a página "Conjuntos de dados"

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: a região onde a versão do conjunto de dados é armazenada. Por exemplo, us-central.

  • PROJECT_ID: o ID do projeto.

  • DATASET_ID: o ID numérico do conjunto de dados.

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

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

execute o seguinte comando:

$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

Você receberá uma resposta JSON semelhante a esta:

{
  "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"
    },
  }
}

Algumas solicitações iniciam operações de longa duração que exigem tempo para serem concluídas. Essas solicitações retornam um nome de operação, que pode ser usado para ver o status da operação ou cancelá-la. A Vertex AI oferece métodos auxiliares para realizar chamadas em operações de longa duração. Para mais informações, consulte Como trabalhar com operações de longa duração.

Restaurar uma versão do conjunto de dados

É possível usar a API Vertex AI para restaurar uma versão do conjunto de dados. Siga as etapas na guia correspondente:

REST

Encontrar o ID do conjunto de dados

Para restaurar uma versão, você precisa saber o ID numérico dela. Você pode listar todas as versões do conjunto de dados usando a API:

Listar as DatasetVersions de um Dataset

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: a região onde a versão do conjunto de dados é armazenada. Por exemplo, us-central.

  • PROJECT_ID: o ID do projeto.

  • DATASET_ID: o ID numérico do conjunto de dados.

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

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

PowerShell

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

A resposta de exemplo a seguir foi truncada com ... para enfatizar onde você pode encontrar o ID: é o número que assume o lugar de DATASET_VERSION_ID .

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

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: a região onde a versão do conjunto de dados é armazenada. Por exemplo, us-central.

  • PROJECT_ID: o ID do projeto.

  • DATASET_ID: o ID numérico do conjunto de dados.

  • DATASET_VERSION_ID: o ID numérico da versão do conjunto de dados.

Método HTTP e URL:

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

Para enviar a solicitação, escolha uma destas opções:

curl

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

PowerShell

execute o seguinte 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/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "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"
    },
  }
}

Algumas solicitações iniciam operações de longa duração que exigem tempo para serem concluídas. Essas solicitações retornam um nome de operação, que pode ser usado para ver o status da operação ou cancelá-la. A Vertex AI oferece métodos auxiliares para realizar chamadas em operações de longa duração. Para mais informações, consulte Como trabalhar com operações de longa duração.

A seguir

Leia mais sobre como trabalhar com conjuntos de dados na Vertex AI.