A Vertex AI permite exportar os conjuntos de metadados e anotações de um
recurso Dataset
. Essa funcionalidade pode ser útil quando você quer manter um registro de uma coleção específica de alterações, adições ou exclusões de anotações.
Quando você exporta um Dataset
, a Vertex AI cria um ou mais arquivos de Linhas JSON que contêm os metadados e as anotações de Dataset
e salva esses arquivos de Linhas JSON em um diretório do Cloud Storage de sua escolha.
É possível exportar recursos de imagem, texto e vídeo Dataset
. Não é possível exportar recursos
tabulares Dataset
.
Exportar um Dataset
não cria cópias adicionais dos dados de imagem, texto ou
vídeo em que seu Dataset
é baseado. Os arquivos de linhas JSON criados pelos
processos de exportação incluem os URIs originais do Cloud Storage para seus
dados que você especificou ao importar esses dados para
Dataset
.
Exporte um Dataset
usando o Console do Google Cloud ou a API
É possível usar o Console do Google Cloud ou a API Vertex AI para exportar um Dataset
.
Siga as etapas na guia correspondente:
Console
No Console do Google Cloud, na seção da Vertex AI, acesse a página Conjuntos de dados.
Na lista suspensa Região, selecione o local onde a
Dataset
é armazenada.Encontre a linha do
Dataset
. É possível exportar metadados e anotações para todos os conjuntos de anotações ou para um conjunto específico:Se você quiser exportar metadados e anotações para todos os conjuntos de anotações de
Dataset
, clique em Ver mais e e clique em Exportar conjunto de dados.Isso instrui a Vertex AI a criar um conjunto de arquivos JSON Lines para cada conjunto de anotações.
Se você quiser exportar metadados e anotações para um conjunto de anotações específico, faça o seguinte:
Clique em Expandir nó
para exibir linhas para cada um dos conjuntos de anotação deDataset
.Na linha do conjunto de anotações que você quer exportar, clique em Visualizar mais
e, em seguida, em Exportar conjunto de anotações.
Isso instrui a Vertex AI a criar um conjunto de arquivos de Linhas JSON para o conjunto de anotações especificado.
Na caixa de diálogo Exportar dados, insira um diretório do Cloud Storage em que a Vertex AI salvará os arquivos de linhas JSON exportados. Clique em Exportar.
REST
Ver o ID de Dataset
Para exportar um Dataset
, você precisa saber o código numérico de Dataset
. Se você
sabe o nome de exibição do Dataset
, mas não o código, expanda a seção
a seguir para saber como conseguir o código 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 de Dataset
no 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"
Exportar um ou mais conjuntos de anotações
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_ID: o ID numérico de
Dataset
.EXPORT_DIRECTORY: URI do Cloud Storage (que começa com
gs://
) de um diretório em que você quer que a Vertex AI salve os arquivos de linhas JSON exportados. Ele precisa estar em um bucket do Cloud Storage a que você tem acesso, mas o diretório ainda não precisa existir.FILTER: uma string de filtro que determina quais conjuntos de anotações são exportados.
Se quiser exportar metadados e anotações para todos os conjuntos de anotações de
Dataset
, substituir FILTER por uma string vazia ou omitir o campoannotationsFilter
do corpo da solicitação totalmente. Isso instrui a Vertex AI a criar um conjunto de arquivos JSON Lines para cada conjunto de anotações.Se você 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
Isso faz com que a Vertex AI crie um conjunto de arquivos de linhas JSON 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 você quer especificar, veja o conjunto de anotações no Console do Google Cloud e procure o valor após
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 da solicitação:
{ "exportConfig": { "gcsDestination": { "outputUriPrefix": "EXPORT_DIRECTORY" }, "annotationsFilter": "FILTER" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
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.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" } }
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.
Explicação sobre os arquivos exportados
No diretório de exportação especificado na seção anterior,
a Vertex AI cria um novo diretório rotulado com o nome de exibição de
Dataset
e um carimbo de data/hora. Por exemplo,
export-data-DATASET_DISPLAY_NAME-2021-02-17T00:54:58.734772Z
.
Nesse diretório, você pode encontrar um subdiretório para cada conjunto de
anotações exportado.
Para cada conjunto de anotações, é possível encontrar um ou mais arquivos JSON Lines. Cada linha de cada arquivo JSON Lines representa um item de dados do conjunto de anotações. Cada item de dados pode
conter metadados e anotações que você especificou ao importar os dados
para a Vertex AI, além dos metadados e anotações adicionados
depois da importação dos dados. Por exemplo, se você solicitou rótulos
de dados para Dataset
ou se
tiver adicionado rótulos ou anotações manualmente ao Dataset
no
Console do Google Cloud, essas informações estão incluídas nos arquivos exportados.
Se você exportar vários conjuntos de anotações, os mesmos itens de dados poderão aparecer em
vários arquivos de linhas JSON. Por exemplo, se você exportar uma imagem Dataset
com
vários conjuntos de anotações, um arquivo de linhas JSON poderá conter um
item de dados com uma anotação de classificação de rótulo único, outro arquivo de linhas JSON para um conjunto de anotações
diferente pode conter o mesmo item de dados, mas com uma anotação
de detecção de objetos.
O formato dos arquivos exportados corresponde ao formato dos arquivos de importação de Linhas JSON que pode ser usado para importar dados para a
Vertex AI.
Esse formato depende do tipo de dados (imagem, tabular, texto ou vídeo) e do objetivo
(como rastreamento de objetos, extração de entidade ou classificação).
Por exemplo, se você exportar um conjunto de anotações para classificação de imagens
de rótulo único, cada linha de cada arquivo de Linhas JSON será formatada de acordo com o
arquivo
de esquema
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
,
conforme descrito em
Como preparar dados de imagem.
Para saber mais sobre os diferentes formatos de linhas JSON para diferentes tipos de conjuntos de anotações, consulte os seguintes guias:
A seguir
- Saiba como solicitar a rotulagem de dados.
- Leia mais sobre como trabalhar com conjuntos de dados na Vertex AI.