Esta página mostra-lhe como usar conjuntos de dados geridos do Vertex AI para preparar os seus modelos personalizados. Os conjuntos de dados geridos oferecem as seguintes vantagens:
- Faça a gestão dos seus conjuntos de dados numa localização central.
- Criar etiquetas e vários conjuntos de anotações.
- Crie tarefas de etiquetagem manual com a etiquetagem de dados integrada.
- Acompanhe a linhagem dos modelos para governança e desenvolvimento iterativo.
- Compare o desempenho dos modelos preparando modelos personalizados e do AutoML com os mesmos conjuntos de dados.
- Gerar estatísticas e visualizações de dados.
- Dividir automaticamente os dados em conjuntos de preparação, teste e validação.
Antes de começar
Antes de poder usar um conjunto de dados gerido na sua aplicação de preparação, tem de criar o conjunto de dados. Tem de criar o conjunto de dados e o pipeline de preparação que usa para a preparação na mesma região. Tem de usar uma região
onde os recursos Dataset estão
disponíveis.
Aceda a um conjunto de dados a partir da sua aplicação de preparação
Quando cria um pipeline de preparação personalizado, pode especificar que a sua aplicação de preparação usa um conjunto de dados do Vertex AI.
Em tempo de execução, o Vertex AI transmite metadados sobre o seu conjunto de dados à sua aplicação de preparação definindo as seguintes variáveis de ambiente no seu contentor de preparação.
AIP_DATA_FORMAT: o formato no qual o conjunto de dados é exportado. Os valores possíveis incluem:jsonl,csvoubigquery.AIP_TRAINING_DATA_URI: o URI do BigQuery dos seus dados de preparação ou o URI do Cloud Storage do ficheiro de dados de preparação.AIP_VALIDATION_DATA_URI: o URI do BigQuery para os dados de validação ou o URI do Cloud Storage do ficheiro de dados de validação.AIP_TEST_DATA_URI: o URI do BigQuery para os seus dados de teste ou o URI do Cloud Storage do ficheiro de dados de teste.
Se o AIP_DATA_FORMAT do seu conjunto de dados for jsonl ou csv, os valores do URI de dados referem-se a URIs do Cloud Storage, como gs://bucket_name/path/training-*. Para manter o tamanho de cada ficheiro de dados relativamente pequeno, o Vertex AI divide o conjunto de dados em vários ficheiros. Uma vez que os dados de preparação, validação ou teste podem ser divididos em vários ficheiros, os URIs são fornecidos no formato de carateres universais.
Saiba mais sobre como transferir objetos através dos exemplos de código do Cloud Storage.
Se o seu AIP_DATA_FORMAT for bigquery, os valores do URI de dados referem-se a URIs do BigQuery, como bq://project.dataset.table.
Saiba mais sobre a paginação dos dados do BigQuery.
Formato do conjunto de dados
Use as secções seguintes para saber como o Vertex AI formata os seus dados quando transfere um conjunto de dados para a sua aplicação de preparação.
Conjuntos de dados de imagens
Os conjuntos de dados de imagens são transmitidos à sua aplicação de preparação no formato JSON Lines. Selecione o separador para o objetivo do conjunto de dados para saber mais sobre como o Vertex AI formata o conjunto de dados.
Classificação de etiqueta única
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de classificação de imagens com uma única etiqueta. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"imageGcsUri": "gs://bucket/filename.ext",
"classificationAnnotation": {
"displayName": "LABEL",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name": "displayName",
"env": "prod"
}
},
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training/test/validation"
}
}Notas de campo:
imageGcsUri: o URI do Cloud Storage desta imagem.annotationResourceLabels: contém qualquer número de pares de strings de chave-valor. A Vertex AI usa este campo para especificar o conjunto de anotações.dataItemResourceLabels- Contém qualquer número de pares de strings de chave-valor. Especifica a utilização de aprendizagem automática do item de dados, como preparação, teste ou validação.
Exemplo de linhas JSON
{"imageGcsUri": "gs://bucket/filename1.jpeg", "classificationAnnotation": {"displayName": "daisy"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "classificationAnnotation": {"displayName": "dandelion"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "classificationAnnotation": {"displayName": "roses"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.bmp", "classificationAnnotation": {"displayName": "sunflowers"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename5.tiff", "classificationAnnotation": {"displayName": "tulips"}, "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...Classificação com várias etiquetas
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de classificação de imagens com várias etiquetas. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"imageGcsUri": "gs://bucket/filename.ext",
"classificationAnnotations": [
{
"displayName": "LABEL1",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name":"displayName",
"label_type": "flower_type"
}
},
{
"displayName": "LABEL2",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name":"displayName",
"label_type": "image_shot_type"
}
}
],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training/test/validation"
}
}Notas de campo:
imageGcsUri: o URI do Cloud Storage desta imagem.annotationResourceLabels: contém qualquer número de pares de strings de chave-valor. A Vertex AI usa este campo para especificar o conjunto de anotações.dataItemResourceLabels- Contém qualquer número de pares de strings de chave-valor. Especifica a utilização de aprendizagem automática do item de dados, como preparação, teste ou validação.
Exemplo de linhas JSON
{"imageGcsUri": "gs://bucket/filename1.jpeg", "classificationAnnotations": [{"displayName": "daisy"}, {"displayName": "full_shot"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "classificationAnnotations": [{"displayName": "dandelion"}, {"displayName": "medium_shot"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "classificationAnnotations": [{"displayName": "roses"}, {"displayName": "extreme_closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.bmp", "classificationAnnotations": [{"displayName": "sunflowers"}, {"displayName": "closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename5.tiff", "classificationAnnotations": [{"displayName": "tulips"}, {"displayName": "extreme_closeup"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...Deteção de objetos
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de deteção de objetos. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_bounding_box_io_format_1.0.0.yaml
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"imageGcsUri": "gs://bucket/filename.ext",
"boundingBoxAnnotations": [
{
"displayName": "OBJECT1_LABEL",
"xMin": "X_MIN",
"yMin": "Y_MIN",
"xMax": "X_MAX",
"yMax": "Y_MAX",
"annotationResourceLabels": {
"aiplatform.googleapis.com/annotation_set_name": "displayName",
"env": "prod"
}
},
{
"displayName": "OBJECT2_LABEL",
"xMin": "X_MIN",
"yMin": "Y_MIN",
"xMax": "X_MAX",
"yMax": "Y_MAX"
}
],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "test/train/validation"
}
}Notas de campo:
imageGcsUri: o URI do Cloud Storage desta imagem.annotationResourceLabels: contém qualquer número de pares de strings de chave-valor. A Vertex AI usa este campo para especificar o conjunto de anotações.dataItemResourceLabels- Contém qualquer número de pares de strings de chave-valor. Especifica a utilização de aprendizagem automática do item de dados, como preparação, teste ou validação.
Exemplo de linhas JSON
{"imageGcsUri": "gs://bucket/filename1.jpeg", "boundingBoxAnnotations": [{"displayName": "Tomato", "xMin": "0.3", "yMin": "0.3", "xMax": "0.7", "yMax": "0.6"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
{"imageGcsUri": "gs://bucket/filename2.gif", "boundingBoxAnnotations": [{"displayName": "Tomato", "xMin": "0.8", "yMin": "0.2", "xMax": "1.0", "yMax": "0.4"},{"displayName": "Salad", "xMin": "0.0", "yMin": "0.0", "xMax": "1.0", "yMax": "1.0"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename3.png", "boundingBoxAnnotations": [{"displayName": "Baked goods", "xMin": "0.5", "yMin": "0.7", "xMax": "0.8", "yMax": "0.8"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"imageGcsUri": "gs://bucket/filename4.tiff", "boundingBoxAnnotations": [{"displayName": "Salad", "xMin": "0.1", "yMin": "0.2", "xMax": "0.8", "yMax": "0.9"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "validation"}}
...Conjuntos de dados tabulares
O Vertex AI transmite dados tabulares à sua aplicação de preparação no formato CSV ou como um URI para uma tabela ou uma vista do BigQuery. Para mais informações sobre o formato e os requisitos da origem de dados, consulte o artigo Preparar a origem da importação. Consulte o conjunto de dados na consola para mais informações acerca do esquema do conjunto de dados. Google Cloud
Conjuntos de dados de texto
Os conjuntos de dados de texto são transmitidos à sua aplicação de preparação no formato JSON Lines. Selecione o separador para o objetivo do conjunto de dados para saber mais sobre como o Vertex AI formata o conjunto de dados.
Classificação de etiqueta única
A Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de classificação de texto de etiqueta única. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"classificationAnnotation": {
"displayName": "label"
},
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"classificationAnnotation": {
"displayName": "label2"
},
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}Classificação com várias etiquetas
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de classificação de texto com várias etiquetas. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"classificationAnnotations": [{
"displayName": "label1"
},{
"displayName": "label2"
}],
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"classificationAnnotations": [{
"displayName": "label2"
},{
"displayName": "label3"
}],
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}Extração de entidades
A Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de extração de entidades. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml.
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"textSegmentAnnotations": [
{
"startOffset":number,
"endOffset":number,
"displayName": "label"
},
...
],
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"textSegmentAnnotations": [
{
"startOffset":number,
"endOffset":number,
"displayName": "label"
},
...
],
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}Análise de sensação geral
A Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de análise de sentimentos. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_sentiment_1.0.0.yaml
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"sentimentAnnotation": {
"sentiment": number,
"sentimentMax": number
},
"textContent": "inline_text",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}
{
"sentimentAnnotation": {
"sentiment": number,
"sentimentMax": number
},
"textGcsUri": "gcs_uri_to_file",
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "training|test|validation"
}
}Conjuntos de dados de vídeo
Os conjuntos de dados de vídeo são transmitidos à sua aplicação de preparação no formato JSON Lines. Selecione o separador para o objetivo do conjunto de dados para saber mais sobre como o Vertex AI formata o conjunto de dados.
Reconhecimento de ações
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de reconhecimento de ações. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/video_action_recognition_io_format_1.0.0.yaml
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"videoGcsUri': "gs://bucket/filename.ext",
"timeSegments": [{
"startTime": "start_time_of_fully_annotated_segment",
"endTime": "end_time_of_segment"}],
"timeSegmentAnnotations": [{
"displayName": "LABEL",
"startTime": "start_time_of_segment",
"endTime": "end_time_of_segment"
}],
"dataItemResourceLabels": {
"ml_use": "train|test"
}
}Nota: os segmentos de tempo aqui são usados para calcular as datas/horas das ações. startTime e endTime de
timeSegmentAnnotations podem
ser iguais e correspondem ao fotograma principal da ação.
Exemplo de linhas JSON
{"videoGcsUri": "gs://demo/video1.mp4", "timeSegmentAnnotations": [{"displayName": "cartwheel", "startTime": "1.0s", "endTime": "12.0s"}], "dataItemResourceLabels": {"ml_use": "training"}}
{"videoGcsUri": "gs://demo/video2.mp4", "timeSegmentAnnotations": [{"displayName": "swing", "startTime": "4.0s", "endTime": "9.0s"}], "dataItemResourceLabels": {"ml_use": "test"}}
...Classificação
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de classificação. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/video_classification_io_format_1.0.0.yaml
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"videoGcsUri": "gs://bucket/filename.ext",
"timeSegmentAnnotations": [{
"displayName": "LABEL",
"startTime": "start_time_of_segment",
"endTime": "end_time_of_segment"
}],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "train|test"
}
}Exemplo de linhas JSON – Classificação de vídeos:
{"videoGcsUri": "gs://demo/video1.mp4", "timeSegmentAnnotations": [{"displayName": "cartwheel", "startTime": "1.0s", "endTime": "12.0s"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{"videoGcsUri": "gs://demo/video2.mp4", "timeSegmentAnnotations": [{"displayName": "swing", "startTime": "4.0s", "endTime": "9.0s"}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
...Monitorização de objetos
O Vertex AI usa o seguinte esquema acessível publicamente quando exporta um conjunto de dados de acompanhamento de objetos. Este esquema determina o formato dos ficheiros de exportação de dados. A estrutura do esquema segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/object_tracking_io_format_1.0.0.yaml
Cada item de dados no conjunto de dados exportado usa o seguinte formato. Este exemplo inclui quebras de linha para facilitar a leitura.
{
"videoGcsUri": "gs://bucket/filename.ext",
"TemporalBoundingBoxAnnotations": [{
"displayName": "LABEL",
"xMin": "leftmost_coordinate_of_the_bounding box",
"xMax": "rightmost_coordinate_of_the_bounding box",
"yMin": "topmost_coordinate_of_the_bounding box",
"yMax": "bottommost_coordinate_of_the_bounding box",
"timeOffset": "timeframe_object-detected"
"instanceId": "instance_of_object
"annotationResourceLabels": "resource_labels"
}],
"dataItemResourceLabels": {
"aiplatform.googleapis.com/ml_use": "train|test"
}
}Exemplo de linhas JSON
{'videoGcsUri': 'gs://demo-data/video1.mp4', 'temporal_bounding_box_annotations': [{'displayName': 'horse', 'instance_id': '-1', 'time_offset': '4.000000s', 'xMin': '0.668912', 'yMin': '0.560642', 'xMax': '1.000000', 'yMax': '1.000000'}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "training"}}
{'videoGcsUri': 'gs://demo-data/video2.mp4', 'temporal_bounding_box_annotations': [{'displayName': 'horse', 'instance_id': '-1', 'time_offset': '71.000000s', 'xMin': '0.679056', 'yMin': '0.070957', 'xMax': '0.801716', 'yMax': '0.290358'}], "dataItemResourceLabels": {"aiplatform.googleapis.com/ml_use": "test"}}
...O que se segue?
- Saiba como usar um conjunto de dados gerido na preparação personalizada criando um pipeline de preparação.