Como criar uma imagem de contêiner com o modelo YOLOv4 TensorFlow Lite

Concluído

Este módulo criará um contêiner do Docker com um modelo YOLOv4(tiny)TensorFlowLite pré-treinado. O código do aplicativo é baseado no projeto tensorflow-yolov4-tflite. Este projeto usa o TensorFlow v2.3.0.

Criar uma imagem de contêiner

Efetue push ou pull das imagens de contêiner com o Registro de Contêiner usando a CLI do Docker ou a CLI do Azure. A integração do portal do Azure permite inspecionar as imagens de contêiner no registro de contêiner visualmente.

Um Dockerfile é um arquivo de texto fornece as instruções de build que usamos para compilar e executar uma imagem do Docker. Você usará o comando build do Docker para compilar a imagem de contêiner com o modelo YOLO. Após a conclusão bem-sucedida, a imagem do Docker será armazenada no computador.

Criar um Registro de Contêiner do Azure

Você usará o Registro de Contêiner do Azure para armazenar e gerenciar uma imagem de contêiner. Use az acr para criar um registro no Azure.

Enviar imagem por push para o Registro de contêiner

Antes de efetuar push de uma imagem de contêiner para o registro, você precisará ter uma marca para controlar a versão de uma imagem. Você usará o comando docker tag para marcar a imagem com informações do registro de contêiner.

Para efetuar push de uma imagem do computador local para um repositório do Registro de Contêiner do Azure, primeiro, use o comando docker login e especifique a URL do servidor de logon para o registro. A URL do servidor de logon de um registro no Registro de Contêiner do Azure tem o formato <>.azurecr.io.

Em seguida, use o comando docker push para efetuar push da imagem para o registro de contêiner.

Implantação no IoT Edge como um módulo de borda

Depois que você efetuar push da imagem para o registro de contêiner, o URI da imagem estará no formato <>.azurecr.io.< : tag_version>.

Você fornecerá detalhes de URI da imagem, nome do registro de contêiner, servidor de logon e senha para implantar a imagem de contêiner como um módulo de borda no IoT Edge.

Agora você tem um módulo de inferência próprio no dispositivo de borda, e o ponto de extremidade de previsão pode ser acessado por meio de http://{nome do módulo}:80/score no seu dispositivo de borda.

Etapas a serem executadas

As etapas gerais que você seguirá:

  1. Baixar o modelo YOLO pré-treinado

  2. Criar a imagem de contêiner com o modelo YOLO

  3. Criar um registro de contêiner no Azure

  4. Efetuar push da imagem do Docker para o Registro de Contêiner do Azure

  5. Implantar o modelo YOLO em contêineres como um módulo do IoT Edge