Interface de entrada/saída para o algoritmo de detecção de objetos - TensorFlow - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Interface de entrada/saída para o algoritmo de detecção de objetos - TensorFlow

Cada um dos modelos pré-treinados listados nos modelos do TensorFlow pode ser ajustado a qualquer conjunto de dados com qualquer número de classes de imagem. Lembre-se de como formatar seus dados de treinamento para entrada no modelo de detecção de objetos - TensorFlow.

  • Formato de entrada de dados de treinamento: seus dados de treinamento devem ser um diretório com um subdiretório images e um arquivo annotations.json.

Veja a seguir um exemplo de uma estrutura de diretório de entrada. Dessa forma, será fornecida uma experiência unificada tanto para usuários do Studio Classic e da versão não Classic. Observe que o rastreamento / é obrigatório.

input_directory |--images |--abc.png |--def.png |--annotations.json

O arquivo annotations.json deve conter informações sobre caixas delimitadoras e seus rótulos de classe na forma de um dicionário "images" e chaves "annotations". O valor da chave "images" deve ser uma lista de dicionários. Deve haver um dicionário para cada imagem com as seguintes informações: {"file_name": image_name, "height": height, "width": width, "id": image_id}. O valor da chave "annotations" também deve ser uma lista de dicionários. Deve haver um dicionário para cada caixa delimitadora com as seguintes informações: {"image_id": image_id, "bbox": [xmin, ymin, xmax, ymax], "category_id": bbox_label}.

Após o treinamento, um arquivo de mapeamento de rótulos e um modelo treinado são salvos em seu bucket do Amazon S3.

Treinamento incremental

É possível propagar o treinamento de um novo modelo usando artefatos de um modelo anteriormente treinado com o SageMaker AI. Um treinamento incremental economiza tempo de treinamento quando você deseja treinar um novo modelo com dados iguais ou semelhantes.

nota

Só é possível propagar um modelo de detecção de objetos TensorFlow do SageMaker AI com outro modelo de detecção de objetos TensorFlow treinado no SageMaker AI.

Você pode usar qualquer conjunto de dados para treinamento incremental, desde que o conjunto de classes permaneça o mesmo. A etapa de treinamento incremental é semelhante à etapa de ajuste, mas em vez de começar com um modelo pré-treinado, você começa com um modelo já ajustado. Para ter mais informações sobre como usar o treinamento incremental com a detecção de objetos TensorFlow do SageMaker AI, consulte o caderno Introduction to SageMaker TensorFlow - Object Detection.

Inferência com o algoritmo de detecção de objetos - TensorFlow

Você pode hospedar o modelo ajustado que resulta do seu treinamento em detecção de objetos do TensorFlow para inferência. Qualquer imagem de entrada para inferência deve estar em formato .jpg, jpeg ou .png e ser tipo de conteúdo application/x-image. O algoritmo de detecção de objetos - TensorFlow redimensiona as imagens de entrada automaticamente.

A execução da inferência resulta em caixas delimitadoras, classes previstas e as pontuações de cada predição codificada no formato JSON. O modelo de detecção de objetos - TensorFlow processa uma única string por solicitação e gera apenas uma linha. Veja a seguir um exemplo de resposta no formato JSON.

accept: application/json;verbose {"normalized_boxes":[[xmin1, xmax1, ymin1, ymax1],....], "classes":[classidx1, class_idx2,...], "scores":[score_1, score_2,...], "labels": [label1, label2, ...], "tensorflow_model_output":<original output of the model>}

Se accept estiver definido como application/json, o modelo só produzirá caixas, classes e pontuações normalizadas.