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

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 umsubdiretó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 com SageMaker o qual você treinou anteriormente. 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 SageMaker Objetos com outro TensorFlow modelo de Detecção TensorFlow de Objetos treinado SageMaker.

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 fino, 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 Object Detection - TensorFlow, consulte o notebook Introdução à 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 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 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 previsão codificada em 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 uma resposta de JSON formato:

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.