Comment créer une image conteneur avec le modèle YOLOv4 TensorFlow Lite

Effectué

Ce module génère un conteneur docker avec un modèle TensorFlowLiteYOLOv4 (tiny) préentraîné. Le code d’application est basé sur le projet tensorflow-yolov4-tflite. Ce projet utilise TensorFlow v2.3.0.

Créer une image de conteneur

Vous pouvez pousser/tirer les images conteneur à l’aide de Container Registry en utilisant l’interface Docker CLI ou Azure CLI. L’intégration au portail Azure vous permet d’inspecter visuellement les images conteneur dans votre registre de conteneurs.

Un fichier Dockerfile est un fichier texte qui fournit les instructions de build que nous utilisons pour générer et exécuter une image Docker. Vous allez utiliser la commande Docker build pour générer l’image conteneur avec le modèle YOLO. Une fois l’opération terminée, l’image docker est stockée sur votre PC.

Créer un registre de conteneurs Azure

Vous allez utiliser le registre de conteneurs Azure pour stocker et gérer une image conteneur. Utilisez az acr pour créer un registre dans Azure.

Envoyer l’image au registre de conteneurs

Avant de pousser une image conteneur vers le registre, vous avez besoin d’une étiquette pour définir la version d’une image. Vous utiliserez la commande docker tag pour étiqueter l’image avec les informations du registre de conteneurs.

Pour envoyer une image de votre ordinateur local vers un référentiel Azure Container Registry, commencez par utiliser la commande docker login et spécifiez l’URL du serveur de connexion pour le registre. L’URL du serveur de connexion pour un registre dans Azure Container Registry se présente sous la forme <registry_name>.azurecr.io.

Ensuite, utilisez la commande docker push pour pousser (push) l’image vers le registre de conteneurs.

Déployer dans IoT Edge en tant que module périphérique

Après avoir poussé l’image vers votre registre de conteneurs, votre URI d’image se présente sous la forme <registry_name>.azurecr.io.<image_name : tag_version>.

Vous fournirez l’URI d’image, le nom du registre de conteneurs, le serveur de connexion et les informations de mot de passe pour déployer l’image conteneur en tant que module périphérique sur IoT Edge.

Vous disposez maintenant de votre propre module d’inférence sur l’appareil périphérique et le point de terminaison de prédiction est accessible via http://{nom du module}:80/score sur votre appareil périphérique.

Procédure à suivre

Grandes étapes à suivre :

  1. Télécharger un modèle YOLO préentraîné

  2. Générer l’image conteneur avec le modèle YOLO

  3. Créer un registre de conteneurs dans Azure

  4. Pousser (push) l’image Docker vers Azure Container Registry

  5. Déployer un modèle YOLO conteneurisé en tant que module IoT Edge