Interface de entrada e saída para o TensorFlow algoritmo de detecção de objetos - 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 e saída para o TensorFlow algoritmo de detecção de objetos

Cada um dos modelos pré-treinados listados em TensorFlow Modelos 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 serem inseridos no TensorFlow modelo de Detecção de Objetos.

  • 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. O diretório de entrada deve ser hospedado em um bucket do Amazon S3 com um caminho semelhante ao seguinte: s3://bucket_name/input_directory/. 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

Você pode semear o treinamento de um novo modelo com artefatos de um modelo que você treinou anteriormente com SageMaker IA. Um treinamento incremental economiza tempo de treinamento quando você deseja treinar um novo modelo com dados iguais ou semelhantes.

nota

Você só pode semear um modelo de Detecção de Objetos de SageMaker IA com outro TensorFlow modelo de Detecção TensorFlow de Objetos treinado em SageMaker IA.

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 obter mais informações sobre como usar o treinamento incremental com o SageMaker AI Object Detection - TensorFlow, consulte o caderno Introdução à SageMaker TensorFlow Detecção de Objetos.

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

Você pode hospedar o modelo ajustado que resulta do seu treinamento de Detecção de TensorFlow Objetos para inferência. Qualquer imagem de entrada para inferência deve estar em formato .jpg, .jpeg, ou .png e deve do ser tipo de conteúdo application/x-image. O TensorFlow algoritmo de Detecção de Objetos 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 TensorFlow modelo Detecção de objetos processa uma única imagem por solicitação e gera somente 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.