Skip to content

Guide sur YOLOv8 Exportation du modèle vers TFLite pour le déploiement

Logo TFLite

Le déploiement de modèles de vision par ordinateur sur des appareils périphériques ou des appareils embarqués nécessite un format capable de garantir des performances sans faille.

Le format d'exportation TensorFlow Lite ou TFLite te permet d'optimiser tes modèles pour des tâches telles que la détection d'objets et la classification d'images dans des applications basées sur des périphériques. Ultralytics YOLOv8 pour des tâches telles que la détection d'objets et la classification d'images dans des applications basées sur des périphériques. Dans ce guide, nous allons suivre les étapes pour convertir tes modèles au format TFLite, ce qui te permettra d'obtenir plus facilement de bons résultats sur divers appareils de bord.

Pourquoi exporter vers TFLite ?

Présenté par Google en mai 2017 dans le cadre de son framework TensorFlow , TensorFlow Lite, ou TFLite en abrégé, est un framework d'apprentissage profond open-source conçu pour l'inférence sur appareil, également connu sous le nom d'edge computing. Il donne aux développeurs les outils nécessaires pour exécuter leurs modèles formés sur des appareils mobiles, embarqués et IoT, ainsi que sur des ordinateurs traditionnels.

TensorFlow Lite est compatible avec une large gamme de plates-formes, y compris Linux embarqué, Android, iOS, et MCU. L'exportation de ton modèle vers TFLite rend tes applications plus rapides, plus fiables et capables de fonctionner hors ligne.

Caractéristiques principales des modèles TFLite

Les modèles TFLite offrent un large éventail de fonctionnalités clés qui permettent l'apprentissage automatique sur appareil en aidant les développeurs à exécuter leurs modèles sur des appareils mobiles, embarqués et périphériques :

  • Optimisation sur l'appareil: TFLite optimise la ML sur l'appareil, rĂ©duit la latence en traitant les donnĂ©es localement, amĂ©liore la confidentialitĂ© en ne transmettant pas les donnĂ©es personnelles et minimise la taille du modèle pour Ă©conomiser de l'espace.

  • Prise en charge de plusieurs plates-formes: TFLite offre une compatibilitĂ© Ă©tendue avec les plates-formes, prenant en charge Android, iOS, Linux embarquĂ© et les microcontrĂ´leurs.

  • Prise en charge de divers langages: TFLite est compatible avec divers langages de programmation, notamment Java, Swift, Objective-C, C++ et Python.

  • Haute performance: Obtient des performances supĂ©rieures grâce Ă  l'accĂ©lĂ©ration matĂ©rielle et Ă  l'optimisation du modèle.

Options de déploiement dans TFLite

Avant de regarder le code pour l’exportation YOLOv8 au format TFLite, comprenons comment les modèles TFLite sont normalement utilisés.

TFLite propose diverses options de déploiement sur appareil pour les modèles d'apprentissage automatique, notamment :

  • DĂ©ploiement avec Android et iOS: Les applications Android et iOS avec TFLite peuvent analyser les flux de camĂ©ras et les capteurs basĂ©s sur les bords pour dĂ©tecter et identifier des objets. TFLite propose Ă©galement des bibliothèques natives iOS Ă©crites en Swift et en Objective-C. Le schĂ©ma d'architecture ci-dessous montre le processus de dĂ©ploiement d'un modèle entraĂ®nĂ© sur les plateformes Android et iOS Ă  l'aide de TensorFlow Lite.

L'architecture

  • Mise en Ĺ“uvre avec Linux embarquĂ©: Si l'exĂ©cution d'infĂ©rences sur un Raspberry Pi Ă  l'aide du guideUltralytics ne rĂ©pond pas aux exigences de vitesse de ton cas d'utilisation, tu peux utiliser un modèle TFLite exportĂ© pour accĂ©lĂ©rer les temps d'infĂ©rence. De plus, il est possible d'amĂ©liorer encore les performances en utilisant un appareil Coral Edge TPU .

  • DĂ©ploiement avec des microcontrĂ´leurs: Les modèles TFLite peuvent Ă©galement ĂŞtre dĂ©ployĂ©s sur des microcontrĂ´leurs et d'autres appareils ne disposant que de quelques kilooctets de mĂ©moire. Le noyau d'exĂ©cution tient dans 16 Ko sur un Arm Cortex M3 et peut faire fonctionner de nombreux modèles de base. Il ne nĂ©cessite pas de système d'exploitation, ni de bibliothèques C ou C++ standard, ni d'allocation dynamique de mĂ©moire.

Exporter vers TFLite : Convertir ton modèle YOLOv8

Tu peux améliorer l'efficacité de l'exécution des modèles sur l'appareil et optimiser les performances en les convertissant au format TFLite.

Installation

Pour installer les paquets nécessaires, exécute :

Installation

# Install the required package for YOLOv8
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installationUltralytics . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.

Utilisation

Avant de plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLOv8 sont disponibles pour l'exportation, tu peux t'assurer que le modèle que tu as choisi prend en charge la fonctionnalité d'exportation ici.

Utilisation

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolov8n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

# Run inference with the exported model
yolo predict model='yolov8n_float32.tflite' source='https://ultralytics.com/images/bus.jpg'

Pour plus de détails sur le processus d'exportation, visite la page de documentationUltralytics sur l'exportation.

Déploiement des modèles exportés YOLOv8 TFLite

Après avoir exporté avec succès tes modèles Ultralytics YOLOv8 au format TFLite, tu peux maintenant les déployer. La première étape recommandée pour exécuter un modèle TFLite est d'utiliser la méthode YOLO("model.tflite"), comme indiqué dans l'extrait de code précédent. Cependant, pour obtenir des instructions détaillées sur le déploiement de tes modèles TFLite dans d'autres contextes, jette un coup d'œil aux ressources suivantes :

  • Android: Un guide de dĂ©marrage rapide pour intĂ©grer TensorFlow Lite dans les applications Android , qui fournit des Ă©tapes faciles Ă  suivre pour configurer et exĂ©cuter des modèles d'apprentissage automatique.

  • iOS: Consulte ce guide dĂ©taillĂ© pour les dĂ©veloppeurs sur l'intĂ©gration et le dĂ©ploiement des modèles TensorFlow Lite dans les applications iOS , offrant des instructions et des ressources Ă©tape par Ă©tape.

  • Exemples de bout en bout: Cette page donne un aperçu de divers exemples de TensorFlow Lite, prĂ©sentant des applications pratiques et des tutoriels conçus pour aider les dĂ©veloppeurs Ă  mettre en Ĺ“uvre TensorFlow Lite dans leurs projets d'apprentissage automatique sur les appareils mobiles et pĂ©riphĂ©riques.

Résumé

Dans ce guide, nous nous sommes concentrés sur la manière d'exporter au format TFLite. En convertissant tes modèles Ultralytics YOLOv8 au format de modèle TFLite, tu peux améliorer l'efficacité et la vitesse des modèles YOLOv8 , ce qui les rend plus efficaces et adaptés aux environnements d'edge computing.

Pour plus de détails sur l'utilisation, consulte la documentation officielle de TFLite.

De plus, si tu es curieux de connaître d'autres intégrations de Ultralytics YOLOv8 , n'oublie pas de consulter notre page de guide d'intégration. Tu y trouveras des tonnes d'informations et de conseils utiles qui t'attendent.

FAQ

Comment exporter un modèle YOLOv8 au format TFLite ?

Pour exporter un modèle YOLOv8 au format TFLite, tu peux utiliser la bibliothèque Ultralytics . Tout d'abord, installe le paquetage requis à l'aide de :

pip install ultralytics

Ensuite, utilise l'extrait de code suivant pour exporter ton modèle :

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

Pour les utilisateurs de CLI , tu peux y parvenir avec :

yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

Pour plus de détails, visite le guide d'exportationUltralytics .

Quels sont les avantages de l'utilisation de TensorFlow Lite pour le déploiement du modèle YOLOv8 ?

TensorFlow Lite (TFLite) est un cadre d'apprentissage profond open-source conçu pour l'inférence sur appareil, ce qui le rend idéal pour déployer des modèles YOLOv8 sur des appareils mobiles, embarqués et IoT. Les principaux avantages sont les suivants :

  • Optimisation sur l'appareil: Minimise la latence et amĂ©liore la confidentialitĂ© en traitant les donnĂ©es localement.
  • CompatibilitĂ© avec les plates-formes: Prend en charge Android, iOS, Linux embarquĂ© et MCU.
  • Performance: Utilise l'accĂ©lĂ©ration matĂ©rielle pour optimiser la vitesse et l'efficacitĂ© du modèle.

Pour en savoir plus, consulte le guide TFLite.

Est-il possible de faire fonctionner les modèles YOLOv8 TFLite sur Raspberry Pi ?

Oui, tu peux exécuter les modèles YOLOv8 TFLite sur Raspberry Pi pour améliorer la vitesse d'inférence. Tout d'abord, exporte ton modèle au format TFLite comme expliqué ici. Ensuite, utilise un outil comme TensorFlow Lite Interpreter pour exécuter le modèle sur ton Raspberry Pi.

Pour des optimisations plus poussées, tu peux envisager d'utiliser Coral Edge TPU. Pour connaître les étapes détaillées, reporte-toi à notre guide de déploiement du Raspberry Pi.

Puis-je utiliser les modèles TFLite sur les microcontrôleurs pour les prédictions YOLOv8 ?

Oui, TFLite peut être déployé sur des microcontrôleurs aux ressources limitées. Le moteur d'exécution de TFLite ne nécessite que 16 Ko de mémoire sur un Arm Cortex M3 et peut exécuter les modèles de base YOLOv8 . Il convient donc au déploiement sur des appareils dotés d'une puissance de calcul et d'une mémoire minimales.

Pour commencer, visite le guide de TFLite Micro pour les microcontrĂ´leurs.

Quelles sont les plateformes compatibles avec les modèles exportés de TFLite YOLOv8 ?

TensorFlow Lite offre une compatibilité étendue avec les plates-formes, ce qui te permet de déployer les modèles YOLOv8 sur une large gamme d'appareils, notamment :

  • Android et iOS: Prise en charge native par les bibliothèques TFLite Android et iOS .
  • Linux embarquĂ©: IdĂ©al pour les ordinateurs monocartes tels que le Raspberry Pi.
  • MicrocontrĂ´leurs: Convient aux MCU dont les ressources sont limitĂ©es.

Pour plus d'informations sur les options de déploiement, consulte notre guide de déploiement détaillé.

Comment résoudre les problèmes courants lors de l'exportation d'un modèle YOLOv8 vers TFLite ?

Si tu rencontres des erreurs lors de l'exportation des modèles YOLOv8 vers TFLite, les solutions les plus courantes sont les suivantes :

  • VĂ©rifie la compatibilitĂ© des paquets: Assure-toi que tu utilises des versions compatibles de Ultralytics et TensorFlow. Reporte-toi Ă  notre guide d'installation.
  • Prise en charge du modèle: VĂ©rifie que le modèle spĂ©cifique de YOLOv8 prend en charge l'exportation TFLite en cochant cette case.

Pour obtenir des conseils de dépannage supplémentaires, consulte notre guide des problèmes courants.



Créé le 2024-03-01, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (6), abirami-vina (1)

Commentaires