As secções de objetivos seguintes incluem informações sobre os requisitos de dados, o ficheiro de esquema de entrada/saída e o formato dos ficheiros de importação de dados (linhas JSON e CSV) definidos pelo esquema.
Classificação de etiqueta única
Requisitos de dados
- Dados de preparação: os seguintes formatos de imagem são suportados quando prepara o modelo. Depois de a API Vertex AI pré-processar estas imagens importadas, estas servem como os dados usados para preparar um modelo. O tamanho máximo do ficheiro por imagem é de 30 MB.
- JPEG
- GIF
- PNG
- BMP
- ICO
- Dados de previsão: os seguintes formatos de imagem são suportados quando pede uma previsão (consulta) ao seu modelo. O tamanho máximo do ficheiro é 1,5 MB.
- JPEG
- GIF
- PNG
- WEBP
- BMP
- TIFF
- ICO
- Os modelos do AutoML estão otimizados para fotografias de objetos no mundo real.
- Os dados de preparação devem estar o mais próximos possível dos dados com base nos quais as previsões vão ser feitas. Por exemplo, se o seu exemplo de utilização envolver imagens desfocadas e de baixa resolução (como as de uma câmara de segurança), os seus dados de preparação devem ser compostos por imagens desfocadas e de baixa resolução. Em geral, também deve considerar fornecer vários ângulos, resoluções e fundos para as suas imagens de preparação.
- Geralmente, os modelos da Vertex AI não conseguem prever etiquetas que os humanos não conseguem atribuir. Assim, se não for possível preparar um humano para atribuir etiquetas observando a imagem durante 1 a 2 segundos, é provável que também não seja possível preparar o modelo para o fazer.
- Recomendamos cerca de 1000 imagens de preparação por etiqueta. O mínimo por etiqueta é 10. Em geral, são necessários mais exemplos por etiqueta para formar modelos com várias etiquetas por imagem, e as classificações resultantes são mais difíceis de interpretar.
- O modelo funciona melhor quando existem, no máximo, 100 vezes mais imagens para a etiqueta mais comum do que para a etiqueta menos comum. Recomendamos que remova as etiquetas de frequência muito baixa.
- Considere incluir uma etiqueta None_of_the_above e imagens que não correspondam a nenhuma das etiquetas definidas. Por exemplo, para um conjunto de dados de flores, inclua imagens de flores fora das suas variedades etiquetadas e etiquete-as como None_of_the_above.
Práticas recomendadas para dados de imagens usados para preparar modelos do AutoML
As seguintes práticas recomendadas aplicam-se a conjuntos de dados que preparam modelos com o AutoML.
Ficheiro de esquema YAML
Use o ficheiro de esquema acessível publicamente seguinte para importar anotações de classificação de imagens com uma única etiqueta. Este ficheiro de esquema determina o formato dos ficheiros de entrada de dados. A estrutura deste ficheiro segue o esquema OpenAPI.
gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml
Ficheiro de esquema completo
title: ImageClassificationSingleLabel description: > Import and export format for importing/exporting images together with single-label classification annotation. Can be used in Dataset.import_schema_uri field. type: object required: - imageGcsUri properties: imageGcsUri: type: string description: > A Cloud Storage URI pointing to an image. Up to 30MB in size. Supported file mime types: `image/jpeg`, `image/gif`, `image/png`, `image/webp`, `image/bmp`, `image/tiff`, `image/vnd.microsoft.icon`. classificationAnnotation: type: object description: Single classification Annotation on the image. properties: displayName: type: string description: > It will be imported as/exported from AnnotationSpec's display name, i.e. the name of the label/class. annotationResourceLabels: description: Resource labels on the Annotation. type: object additionalProperties: type: string dataItemResourceLabels: description: Resource labels on the DataItem. type: object additionalProperties: type: string
Ficheiros de entrada
JSON Lines
JSON em cada linha:
{ "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 único campo obrigatório.annotationResourceLabels
- Pode conter qualquer número de pares de strings de chave-valor. O único par de chave-valor reservado pelo sistema é o seguinte:- "aiplatform.googleapis.com/annotation_set_name" : "value"
Onde value é um dos nomes a apresentar dos conjuntos de anotações existentes no conjunto de dados.
dataItemResourceLabels
- Pode conter qualquer número de pares de strings de chave-valor. O único par de chave-valor reservado pelo sistema é o seguinte, que especifica o conjunto de utilização de aprendizagem automática do item de dados:- "aiplatform.googleapis.com/ml_use" : "training/test/validation"
Exemplo de linhas JSON – image_classification_single_label.jsonl
:
{"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"}} ...
CSV
Formato CSV:
[ML_USE],GCS_FILE_PATH,[LABEL]
ML_USE
(Opcional) – Para fins de divisão de dados ao preparar um modelo. Use TRAINING, TEST ou VALIDATION. Para mais informações sobre a divisão manual de dados, consulte o artigo Acerca das divisões de dados para modelos do AutoML.GCS_FILE_PATH
: este campo contém o URI do Cloud Storage para a imagem. Os URIs do Cloud Storage são sensíveis a maiúsculas e minúsculas.LABEL
(Opcional) – As etiquetas têm de começar por uma letra e só podem conter letras, números e carateres de sublinhado.
Exemplo de CSV – image_classification_single_label.csv
:
test,gs://bucket/filename1.jpeg,daisy training,gs://bucket/filename2.gif,dandelion gs://bucket/filename3.png gs://bucket/filename4.bmp,sunflowers validation,gs://bucket/filename5.tiff,tulips ...
Classificação com várias etiquetas
Requisitos de dados
- Dados de preparação: os seguintes formatos de imagem são suportados quando prepara o modelo. Depois de a API Vertex AI pré-processar estas imagens importadas, estas servem como os dados usados para preparar um modelo. O tamanho máximo do ficheiro por imagem é de 30 MB.
- JPEG
- GIF
- PNG
- BMP
- ICO
- Dados de previsão: os seguintes formatos de imagem são suportados quando pede uma previsão (consulta) ao seu modelo. O tamanho máximo do ficheiro é 1,5 MB.
- JPEG
- GIF
- PNG
- WEBP
- BMP
- TIFF
- ICO
- Os modelos do AutoML estão otimizados para fotografias de objetos no mundo real.
- Os dados de preparação devem estar o mais próximos possível dos dados com base nos quais as previsões vão ser feitas. Por exemplo, se o seu exemplo de utilização envolver imagens desfocadas e de baixa resolução (como as de uma câmara de segurança), os seus dados de preparação devem ser compostos por imagens desfocadas e de baixa resolução. Em geral, também deve considerar fornecer vários ângulos, resoluções e fundos para as suas imagens de preparação.
- Geralmente, os modelos da Vertex AI não conseguem prever etiquetas que os humanos não conseguem atribuir. Assim, se não for possível preparar um humano para atribuir etiquetas observando a imagem durante 1 a 2 segundos, é provável que também não seja possível preparar o modelo para o fazer.
- Recomendamos cerca de 1000 imagens de preparação por etiqueta. O mínimo por etiqueta é 10. Em geral, são necessários mais exemplos por etiqueta para formar modelos com várias etiquetas por imagem, e as classificações resultantes são mais difíceis de interpretar.
- O modelo funciona melhor quando existem, no máximo, 100 vezes mais imagens para a etiqueta mais comum do que para a etiqueta menos comum. Recomendamos que remova as etiquetas de frequência muito baixa.
- Considere incluir uma etiqueta None_of_the_above e imagens que não correspondam a nenhuma das etiquetas definidas. Por exemplo, para um conjunto de dados de flores, inclua imagens de flores fora das suas variedades etiquetadas e etiquete-as como None_of_the_above.
Práticas recomendadas para dados de imagens usados para preparar modelos do AutoML
As seguintes práticas recomendadas aplicam-se a conjuntos de dados que preparam modelos com o AutoML.
Ficheiro de esquema YAML
Use o seguinte ficheiro de esquema acessível publicamente para importar anotações de classificação de imagens com várias etiquetas. Este ficheiro de esquema determina o formato dos ficheiros de entrada de dados. A estrutura deste ficheiro segue o esquema OpenAPI.
Ficheiro de esquema completo
title: ImageClassificationMultiLabel description: > Import and export format for importing/exporting images together with multi-label classification annotations. Can be used in Dataset.import_schema_uri field. type: object required: - imageGcsUri properties: imageGcsUri: type: string description: > A Cloud Storage URI pointing to an image. Up to 30MB in size. Supported file mime types: `image/jpeg`, `image/gif`, `image/png`, `image/webp`, `image/bmp`, `image/tiff`, `image/vnd.microsoft.icon`. classificationAnnotations: type: array description: Multiple classification Annotations on the image. items: type: object description: Classification annotation. properties: displayName: type: string description: > It will be imported as/exported from AnnotationSpec's display name, i.e. the name of the label/class. annotationResourceLabels: description: Resource labels on the Annotation. type: object additionalProperties: type: string dataItemResourceLabels: description: Resource labels on the DataItem. type: object additionalProperties: type: string
Ficheiros de entrada
JSON Lines
JSON em cada linha:
{ "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 único campo obrigatório.annotationResourceLabels
- Pode conter qualquer número de pares de strings de chave-valor. O único par de chave-valor reservado pelo sistema é o seguinte:- "aiplatform.googleapis.com/annotation_set_name" : "value"
Onde value é um dos nomes a apresentar dos conjuntos de anotações existentes no conjunto de dados.
dataItemResourceLabels
- Pode conter qualquer número de pares de strings de chave-valor. O único par de chave-valor reservado pelo sistema é o seguinte, que especifica o conjunto de utilização de aprendizagem automática do item de dados:- "aiplatform.googleapis.com/ml_use" : "training/test/validation"
Exemplo de linhas JSON – image_classification_multi_label.jsonl
:
{"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"}} ...
CSV
Formato CSV:
[ML_USE],GCS_FILE_PATH,[LABEL1,LABEL2,...LABELn]
ML_USE
(Opcional) – Para fins de divisão de dados ao preparar um modelo. Use TRAINING, TEST ou VALIDATION. Para mais informações sobre a divisão manual de dados, consulte o artigo Acerca das divisões de dados para modelos do AutoML.GCS_FILE_PATH
: este campo contém o URI do Cloud Storage para a imagem. Os URIs do Cloud Storage são sensíveis a maiúsculas e minúsculas.LABEL
(Opcional) – As etiquetas têm de começar por uma letra e só podem conter letras, números e carateres de sublinhado.
Exemplo de CSV – image_classification_multi_label.csv
:
test,gs://bucket/filename1.jpeg,daisy,full_shot training,gs://bucket/filename2.gif,dandelion,medium_shot gs://bucket/filename3.png gs://bucket/filename4.bmp,sunflowers,closeup validation,gs://bucket/filename5.tiff,tulips,extreme_closeup ...