O Vertex AI permite exportar os metadados e os conjuntos de anotações de um recurso
Dataset
. Esta capacidade pode ser útil se quiser manter um registo de uma coleção específica de alterações, adições ou eliminações de anotações.
Quando exporta um Dataset
, o Vertex AI cria um ou mais ficheiros JSON Lines que contêm os metadados e as anotações do Dataset
e guarda estes ficheiros JSON Lines num diretório do Cloud Storage à sua escolha.
Pode exportar recursos de Dataset
imagens. Não pode exportar recursos
tabulares Dataset
.
A exportação de um Dataset
não cria cópias adicionais dos dados de imagem nos quais o Dataset
se baseia. Os ficheiros JSON Lines criados pelos processos de exportação incluem os URIs do Google Cloud Storage originais dos dados que especificou quando importou esses dados para o Dataset
.
Exporte um Dataset
através da Google Cloud consola ou da API
Pode usar a Google Cloud consola ou a API Vertex AI para exportar um Dataset
.
Siga os passos no separador correspondente:
Consola
Na Google Cloud consola, na secção Vertex AI, aceda à página Conjuntos de dados.
Na lista pendente Região, selecione a localização onde o
Dataset
está armazenado.Encontre a linha de
Dataset
. Pode exportar metadados e anotações para todos os conjuntos de anotações ou para um conjunto de anotações específico:Se quiser exportar metadados e anotações para todos os conjuntos de anotações do
Dataset
, clique em Ver mais e, de seguida, em Exportar conjunto de dados.Isto indica à Vertex AI para criar um conjunto de ficheiros JSON Lines para cada conjunto de anotações.
Se quiser exportar metadados e anotações para um conjunto de anotações específico,faça o seguinte:
Clique em Expandir nó
para mostrar linhas para cada um dos conjuntos de anotações deDataset
.Na linha do conjunto de anotações que quer exportar, clique em Ver mais
e, de seguida, em Exportar conjunto de anotações.
Isto indica ao Vertex AI para criar um conjunto de ficheiros JSON Lines para o conjunto de anotações que especificou.
Na caixa de diálogo Exportar dados, introduza um diretório do Cloud Storage onde quer que o Vertex AI guarde os ficheiros JSON Lines exportados. Clique em Exportar.
REST
Obtenha o ID de Dataset
Para exportar um Dataset
, tem de saber o ID numérico do Dataset
. Se souber o nome a apresentar doDataset
, mas não o ID, expanda a secção seguinte para saber como obter o ID através da API:
Obtenha o ID de um conjunto de dados a partir do respetivo nome a apresentar
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
LOCATION: a localização onde o
Dataset
está armazenado. Por exemplo,us-central1
.PROJECT_ID: o seu ID do projeto.
DATASET_DISPLAY_NAME: o nome a apresentar 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 o seu pedido, 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 seguinte foi truncada com ...
para realçar onde pode encontrar o ID do Dataset
: é o número que substitui DATASET_ID.
{ "datasets": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID", "displayName": "DATASET_DISPLAY_NAME", ... } ] }
Em alternativa, pode obter o ID do Dataset
Google Cloud na consola:
Aceda à página Conjuntos de dados do Vertex AI e encontre o número na coluna ID.
Aceda à página Conjuntos de dados
Exporte um ou mais conjuntos de anotações
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
LOCATION: a localização onde o
Dataset
está armazenado. Por exemplo,us-central1
.PROJECT_ID: o seu ID do projeto.
DATASET_ID: o ID numérico do
Dataset
.EXPORT_DIRECTORY: URI do Cloud Storage (começando por
gs://
) de um diretório onde quer que o Vertex AI guarde os ficheiros JSON Lines exportados. Tem de estar num contentor do Cloud Storage ao qual tem acesso, mas o diretório não tem de existir ainda.FILTER: uma string de filtro que determina que conjuntos de anotações são exportados.
Se quiser exportar metadados e anotações para todos os conjuntos de anotações de
Dataset
, substitua FILTER por uma string vazia (ou omita completamente o campoannotationsFilter
do corpo do pedido). Isto indica à Vertex AI que crie um conjunto de ficheiros JSON Lines para cada conjunto de anotações.Se quiser exportar metadados e anotações para um conjunto de anotações específico, substitua FILTER pelo seguinte:
labels.aiplatform.googleapis.com/annotation_set_name=ANNOTATION_SET_ID
Isto indica à Vertex AI para criar um conjunto de ficheiros JSON Lines para o conjunto de anotações com o ID numérico ANNOTATION_SET_ID.
Para encontrar o ID numérico do conjunto de anotações que quer especificar, veja o conjunto de anotações na Google Cloud consola e procure o valor a seguir a
annotationSetId
no URL.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export
Corpo JSON do pedido:
{ "exportConfig": { "gcsDestination": { "outputUriPrefix": "EXPORT_DIRECTORY" }, "annotationsFilter": "FILTER" } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e 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 @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:export"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" } }
Alguns pedidos iniciam operações de longa duração que requerem tempo para serem concluídas. Estes pedidos devolvem um nome da operação, que pode usar para ver o estado da operação ou cancelar a operação. A Vertex AI fornece métodos auxiliares para fazer chamadas contra operações de longa duração. Para mais informações, consulte o artigo Trabalhar com operações de longa duração.
Explicação dos ficheiros exportados
No diretório de exportação especificado na secção anterior, o Vertex AI cria um novo diretório etiquetado com o nome a apresentar do Dataset
e uma data/hora; por exemplo, export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z
.
Neste diretório, pode encontrar um subdiretório para cada conjunto de anotações que
exportou.
Para cada conjunto de anotações, pode encontrar um ou mais ficheiros JSON Lines. Cada linha de cada ficheiro JSON Lines representa um item de dados do conjunto de anotações. Cada item de dados pode conter metadados e anotações que especificou quando importou os dados para o Vertex AI, bem como metadados e anotações que adicionou após a importação dos dados. Por exemplo, se pediu a etiquetagem de dados para o seu Dataset
ou se adicionou manualmente etiquetas ou anotações ao Dataset
na consolaGoogle Cloud , estas informações são incluídas nos ficheiros exportados.
Se exportar vários conjuntos de anotações, os mesmos itens de dados podem aparecer em vários ficheiros JSON Lines. Por exemplo, se exportar uma imagem Dataset
com vários conjuntos de anotações, um ficheiro JSON Lines pode conter um item de dados com uma anotação de classificação de etiqueta única. Outro ficheiro JSON Lines para um conjunto de anotações diferente pode conter o mesmo item de dados, mas com uma anotação de deteção de objetos.
O formato dos ficheiros exportados corresponde ao formato dos ficheiros de importação JSON Lines que pode usar para importar dados para o Vertex AI.
Este formato depende do tipo de dados (imagem ou tabular) e do objetivo (como acompanhamento de objetos, extração de entidades ou classificação).
Por exemplo, se exportar um conjunto de anotações para a classificação de imagens com uma única etiqueta, cada linha de cada ficheiro JSON Lines é formatada de acordo com o ficheiro de esquema, conforme descrito no artigo Preparar dados de imagens.gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
O que se segue?
- Saiba como etiquetar dados através da Google Cloud consola.
- Leia mais sobre como trabalhar com conjuntos de dados no Vertex AI.