Guide sur YOLO11 Exportation de modèles vers TFLite en vue d'un déploiement
Le déploiement de modèles de vision par ordinateur sur des appareils périphériques ou embarqués nécessite un format qui garantisse des performances sans faille.
Le format d'exportation TensorFlow Lite ou TFLite vous permet d'optimiser vos 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 YOLO11 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 décrivons les étapes à suivre pour convertir vos modèles au format TFLite, ce qui facilitera l'utilisation de vos modèles sur divers appareils périphériques.
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 votre modèle vers TFLite rend vos 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, intégrés et périphériques :
-
Optimisation sur l'appareil: TFLite optimise la ML sur l'appareil, réduisant la latence en traitant les données localement, améliorant la confidentialité en ne transmettant pas les données personnelles et minimisant 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: Des performances supérieures grâce à l'accélération matérielle et à l'optimisation des modèles.
Options de déploiement dans TFLite
Avant d'examiner le code permettant d'exporter les modèles YOLO11 au format TFLite, il convient de comprendre 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 afin de détecter et d'identifier des objets. TFLite propose également des bibliothèques natives iOS écrites en Swift et Objective-C. Le diagramme 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 votre cas d'utilisation, vous pouvez utiliser un modèle TFLite exporté pour accélérer les temps d'inférence. En outre, il est possible d'améliorer encore les performances en utilisant un dispositif 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 kilo-octets 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 : Conversion de votre modèle YOLO11
Vous pouvez 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écutez :
Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationUltralytics . Lors de l'installation des paquets requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir 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 YOLO11 sont disponibles pour l'exportation, vous pouvez vous assurer que le modèle que vous sélectionnez 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, consultez la page de documentationUltralytics sur l'exportation.
Déploiement des modèles exportés YOLO11 TFLite
Après avoir exporté avec succès vos modèles Ultralytics YOLO11 au format TFLite, vous pouvez maintenant les déployer. La première étape recommandée pour exécuter un modèle TFLite consiste à utiliser la méthode YOLO("model.tflite"), comme indiqué dans l'extrait de code précédent. Toutefois, pour obtenir des instructions détaillées sur le déploiement de vos modèles TFLite dans d'autres contextes, consultez les ressources suivantes :
-
Android: Un guide de démarrage rapide pour l'intégration de TensorFlow Lite dans les applications Android , fournissant des étapes faciles à suivre pour la mise en place et l'exécution de modèles d'apprentissage automatique.
-
iOS: Consultez 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 fournit une vue d'ensemble des différents 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 vos modèles Ultralytics YOLO11 au format de modèle TFLite, vous pouvez améliorer l'efficacité et la vitesse des modèles YOLO11 , ce qui les rend plus efficaces et plus adaptés aux environnements d'informatique de pointe.
Pour plus de détails sur l'utilisation, consultez la documentation officielle de TFLite.
Par ailleurs, si vous êtes curieux de découvrir d'autres intégrations de Ultralytics YOLO11 , n'oubliez pas de consulter notre page de guide d'intégration. Vous y trouverez des tonnes d'informations et de conseils utiles.
FAQ
Comment exporter un modèle YOLO11 au format TFLite ?
Pour exporter un modèle YOLO11 au format TFLite, vous pouvez utiliser la bibliothèque Ultralytics . Tout d'abord, installez le paquetage requis en utilisant :
Ensuite, utilisez l'extrait de code suivant pour exporter votre 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 , vous pouvez le faire avec :
Pour plus de détails, consultez le guide d'exportationUltralytics .
Quels sont les avantages de l'utilisation de TensorFlow Lite pour ledé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 des modèles YOLO11 sur des appareils mobiles, embarqués et IoT. Ses principaux avantages sont les suivants :
- Optimisation sur l'appareil: Minimiser la latence et améliorer la confidentialité en traitant les données localement.
- Compatibilité avec les plates-formes: Compatible avec 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, consultez le guide TFLite.
Est-il possible de faire fonctionner les modèles YOLO11 TFLite sur Raspberry Pi ?
Oui, vous pouvez exécuter les modèles YOLO11 TFLite sur Raspberry Pi pour améliorer la vitesse d'inférence. Tout d'abord, exportez votre modèle au format TFLite comme expliqué ici. Ensuite, utilisez un outil comme TensorFlow Lite Interpreter pour exécuter le modèle sur votre Raspberry Pi.
Pour des optimisations plus poussées, vous pouvez envisager d'utiliser Coral Edge TPU. Pour les étapes détaillées, reportez-vous à notre guide de déploiement Raspberry Pi.
Puis-je utiliser les modèles TFLite sur les microcontrôleurs pour les prédictions YOLO11 ?
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 YOLO11 . Il peut donc être déployé sur des appareils dotés d'une puissance de calcul et d'une mémoire minimales.
Pour commencer, consultez le guide TFLite Micro pour microcontrĂ´leurs.
Quelles sont les plateformes compatibles avec les modèles YOLO11 exportés par TFLite ?
TensorFlow Lite offre une compatibilité étendue avec les plates-formes, ce qui vous 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, consultez 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 vous rencontrez des erreurs lors de l'exportation des modèles YOLO11 vers TFLite, les solutions les plus courantes sont les suivantes :
- Vérifier la compatibilité des paquets: Assurez-vous que vous utilisez des versions compatibles de Ultralytics et TensorFlow. Reportez-vous à notre guide d'installation.
- Prise en charge du modèle: Vérifiez 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, consultez notre guide des problèmes courants.