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 un large éventail de plateformes, notamment 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 plateformes: TFLite offre une compatibilitĂ© Ă©tendue avec les plateformes, 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 d'examiner le code permettant d'exporter les modèles 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 iOS natives Ă©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, qui propose 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, visite 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.



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

Commentaires