Guide sur l'exportation du modèle YOLO11 vers TFLite en vue de son déploiement
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 Ultralytics YOLO11 pour des tâches telles que la détection d'objets et la classification d'images dans des applications basées sur des appareils périphériques. Dans ce guide, nous allons suivre les étapes pour convertir tes modèles au format TFLite, ce qui facilitera les performances de tes modèles 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 d'examiner le code permettant d'exporter les modèles YOLO11 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.
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 YOLO11
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 :
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 YOLO11, 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èles deUltralytics YOLO11 sont disponibles pour l'exportation, tu peux t'assurer que le modèle que tu choisis prend en charge la fonctionnalité d'exportation ici.
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo11n_float32.tflite")
# Run inference
results = tflite_model("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éployer les modèles exportés de YOLO11 TFLite
Après avoir exporté avec succès tes modèles Ultralytics YOLO11 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 , fournissant 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 YOLO11 au format de modèle TFLite, tu peux améliorer l'efficacité et la vitesse des modèles YOLO11, 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 les autres intégrations de Ultralytics YOLO11, ne manque 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 YOLO11 au format TFLite ?
Pour exporter un modèle YOLO11 au format TFLite, tu peux utiliser la bibliothèque Ultralytics . Tout d'abord, installe le paquetage requis en utilisant :
Ensuite, utilise l'extrait de code suivant pour exporter ton modèle :
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
Pour les utilisateurs de CLI , tu peux y parvenir avec :
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 YOLO11 ?
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 les modèles YOLO11 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 YOLO11 TFLite sur Raspberry Pi ?
Oui, tu peux exécuter les modèles TFLite de YOLO11 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 YOLO11 ?
Oui, TFLite prend en charge le déploiement sur des microcontrôleurs aux ressources limitées. Le noyau d'exécution de TFLite ne nécessite que 16 Ko de mémoire sur un Arm Cortex M3 et peut faire fonctionner des modèles YOLO11 de base. 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 YOLO11 exportés par TFLite ?
TensorFlow Lite offre une compatibilité étendue avec les plateformes, ce qui te permet de déployer les modèles YOLO11 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 YOLO11 vers TFLite ?
Si tu rencontres des erreurs lors de l'exportation des modèles YOLO11 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 YOLO11 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.