A Guide on YOLO11 Model Export to TFLite for Deployment
Deploying computer vision models on edge devices or embedded devices requires a format that can ensure seamless performance.
The TensorFlow Lite or TFLite export format allows you to optimize your Ultralytics YOLO11 models for tasks like object detection and image classification in edge device-based applications. In this guide, we'll walk through the steps for converting your models to the TFLite format, making it easier for your models to perform well on various edge devices.
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
Before we look at the code for exporting YOLO11 models to the TFLite format, let's understand how TFLite models are normally used.
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.
Export to TFLite: Converting Your YOLO11 Model
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 :
For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.
Utilisation
Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.
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.
Deploying Exported YOLO11 TFLite Models
After successfully exporting your Ultralytics YOLO11 models to TFLite format, you can now deploy them. The primary and recommended first step for running a TFLite model is to utilize the YOLO("model.tflite") method, as outlined in the previous usage code snippet. However, for in-depth instructions on deploying your TFLite models in various other settings, take a look at the following resources:
-
Android: A quick start guide for integrating TensorFlow Lite into Android applications, providing easy-to-follow steps for setting up and running machine learning models.
-
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é
In this guide, we focused on how to export to TFLite format. By converting your Ultralytics YOLO11 models to TFLite model format, you can improve the efficiency and speed of YOLO11 models, making them more effective and suitable for edge computing environments.
Pour plus de détails sur l'utilisation, consulte la documentation officielle de TFLite.
Also, if you're curious about other Ultralytics YOLO11 integrations, make sure to check out our integration guide page. You'll find tons of helpful info and insights waiting for you there.
FAQ
How do I export a YOLO11 model to TFLite format?
To export a YOLO11 model to TFLite format, you can use the Ultralytics library. First, install the required package using:
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 .
What are the benefits of using TensorFlow Lite for YOLO11 model deployment?
TensorFlow Lite (TFLite) is an open-source deep learning framework designed for on-device inference, making it ideal for deploying YOLO11 models on mobile, embedded, and IoT devices. Key benefits include:
- 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.
Is it possible to run YOLO11 TFLite models on Raspberry Pi?
Yes, you can run YOLO11 TFLite models on Raspberry Pi to improve inference speeds. First, export your model to TFLite format as explained here. Then, use a tool like TensorFlow Lite Interpreter to execute the model on your 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.
Can I use TFLite models on microcontrollers for YOLO11 predictions?
Yes, TFLite supports deployment on microcontrollers with limited resources. TFLite's core runtime requires only 16 KB of memory on an Arm Cortex M3 and can run basic YOLO11 models. This makes it suitable for deployment on devices with minimal computational power and memory.
Pour commencer, visite le guide de TFLite Micro pour les microcontrĂ´leurs.
What platforms are compatible with TFLite exported YOLO11 models?
TensorFlow Lite provides extensive platform compatibility, allowing you to deploy YOLO11 models on a wide range of devices, including:
- 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é.
How do I troubleshoot common issues during YOLO11 model export to TFLite?
If you encounter errors while exporting YOLO11 models to TFLite, common solutions include:
- Vérifie la compatibilité des paquets: Assure-toi que tu utilises des versions compatibles de Ultralytics et TensorFlow. Reporte-toi à notre guide d'installation.
- Model support: Verify that the specific YOLO11 model supports TFLite export by checking here.
Pour obtenir des conseils de dépannage supplémentaires, consulte notre guide des problèmes courants.