Skip to content

A Guide on YOLO11 Model Export to TFLite for Deployment

Logo TFLite

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.

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.

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 :

Installation

# Install the required package for YOLO11
pip install ultralytics

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")
# Export a YOLO11n PyTorch model to TFLite format
yolo export model=yolo11n.pt format=tflite  # creates 'yolo11n_float32.tflite'

# Run inference with the exported model
yolo predict model='yolo11n_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.

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:

pip install ultralytics

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 :

yolo export model=yolo11n.pt format=tflite  # creates 'yolo11n_float32.tflite'

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.


📅 Created 7 months ago ✏️ Updated 7 days ago

Commentaires