Passer au contenu

Un guide sur l'exportation de modèles YOLO26 vers TFLite pour le déploiement

Cadre de déploiement TensorFlow Edge

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 qui peut garantir des performances homogènes.

Le format d'exportation TensorFlow Lite ou TFLite vous permet d'optimiser vos modèles Ultralytics YOLO26 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 détailler les étapes de conversion de vos modèles au format TFLite, ce qui facilitera les bonnes performances de vos modèles sur divers appareils périphériques.

Pourquoi devriez-vous exporter vers TFLite ?

Introduit par Google en mai 2017 dans le cadre de son framework TensorFlow, TensorFlow Lite, ou TFLite en abrégé, est un framework open source d'apprentissage profond conçu pour l'inférence sur l'appareil, également appelée edge computing. Il donne aux développeurs les outils nécessaires pour exécuter leurs modèles entraîné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 les microcontrôleurs (MCU). L'exportation de votre modèle vers TFLite rend vos applications plus rapides, plus fiables et capables de fonctionner hors ligne.

Principales caractéristiques des modèles TFLite

Les modèles TFLite offrent un large éventail de fonctionnalités clés qui permettent l'apprentissage automatique sur l'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 pour le 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 plateformes : TFLite offre une vaste compatibilité de plateforme, prenant en charge Android, iOS, Linux embarqué et les microcontrôleurs.

  • Prise en charge de diverses langues : TFLite est compatible avec divers langages de programmation, notamment Java, Swift, Objective-C, C++ et Python.

  • Haute Performance : Atteint une performance supérieure 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 d'exportation des modèles YOLO26 au format TFLite, comprenons comment les modèles TFLite sont normalement utilisés.

TFLite offre diverses options de déploiement sur l'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 en périphérie pour detect et identifier des objets. TFLite offre également des bibliothèques iOS natives écrites en Swift et Objective-C. Le schéma d'architecture ci-dessous illustre le processus de déploiement d'un modèle entraîné sur les plateformes Android et iOS à l'aide de TensorFlow Lite.

Architecture de déploiement TensorFlow pour mobile

  • Implémentation avec Linux Embarqué : Si l'exécution d'inférences sur un Raspberry Pi à l'aide du Guide Ultralytics 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. De plus, 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 avec seulement quelques kilo-octets de mémoire. Le runtime principal tient dans seulement 16 Ko sur un Arm Cortex M3 et peut exécuter de nombreux modèles de base. Il ne nécessite pas de prise en charge du système d'exploitation, de bibliothèques C ou C++ standard, ni d'allocation dynamique de mémoire.

Exportation vers TFLite : Conversion de votre modèle YOLO26

Vous pouvez améliorer l'efficacité de l'exécution du modèle sur l'appareil et optimiser les performances en convertissant vos modèles au format TFLite.

Installation

Pour installer les packages requis, exécutez :

Installation

# Install the required package for YOLO26
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installation d'Ultralytics. Si vous rencontrez des difficultés lors de l'installation des paquets requis pour YOLO26, consultez notre guide des problèmes courants pour des solutions et des conseils.

Utilisation

Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation nativement, facilitant ainsi leur intégration dans votre flux de travail de déploiement préféré. Vous pouvez consulter la liste complète des formats d'exportation pris en charge et des options de configuration pour choisir la meilleure configuration pour votre application.

Utilisation

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolo26n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TFLite format
yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'

# Run inference with the exported model
yolo predict model='yolo26n_float32.tflite' source='https://ultralytics.com/images/bus.jpg'

Arguments d'exportation

ArgumentTypePar défautDescription
formatstr'tflite'Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement.
imgszint ou tuple640Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour les images carrées ou un tuple (height, width) pour des dimensions spécifiques.
halfboolFalseActive la quantification FP16 (demi-précision), réduisant la taille du modèle et accélérant potentiellement l'inférence sur le matériel pris en charge.
int8boolFalseActive la quantification INT8, compressant davantage le modèle et accélérant l'inférence avec une perte de précision minimale, principalement pour les appareils périphériques.
nmsboolFalseAjoute la suppression non maximale (NMS), essentielle pour un post-traitement de détection précis et efficace.
batchint1Spécifie la taille du lot d'inférence du modèle d'exportation ou le nombre maximal d'images que le modèle exporté traitera simultanément en predict mode.
datastr'coco8.yaml'Chemin d'accès au ensemble de données fichier de configuration (par défaut : coco8.yaml), essentiel pour la quantification.
fractionfloat1.0Spécifie la fraction de l'ensemble de données à utiliser pour le calibrage de la quantification INT8. Permet de calibrer sur un sous-ensemble de l'ensemble de données complet, ce qui est utile pour les expériences ou lorsque les ressources sont limitées. S'il n'est pas spécifié avec INT8 activé, l'ensemble de données complet sera utilisé.
devicestrNoneSpécifie le dispositif pour l'exportation : CPU (device=cpu), MPS pour Apple Silicon (device=mps).

Pour plus de détails sur le processus d'exportation, consultez la page de la documentation Ultralytics sur l'exportation.

Déploiement de modèles YOLO26 TFLite exportés

Après avoir exporté avec succès vos modèles Ultralytics YOLO26 au format TFLite, vous pouvez maintenant les déployer. La première étape principale et recommandée pour exécuter un modèle TFLite est d'utiliser le YOLO("model.tflite") méthode, comme indiqué dans l'extrait de code d'utilisation précédent. Toutefois, pour obtenir des instructions détaillées sur le déploiement de vos modèles TFLite dans divers autres contextes, consultez les 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 : Consultez ce guide détaillé destiné aux développeurs sur l'intégration et le déploiement de modèles TensorFlow Lite dans des 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 didacticiels conçus pour aider les développeurs à implémenter TensorFlow Lite dans leurs projets d'apprentissage automatique sur des appareils mobiles et périphériques.

Résumé

Dans ce guide, nous nous sommes concentrés sur l'exportation au format TFLite. En convertissant vos modèles Ultralytics YOLO26 au format de modèle TFLite, vous pouvez améliorer l'efficacité et la vitesse des modèles YOLO26, les rendant plus efficaces et adaptés aux environnements d'edge computing.

Pour plus de détails sur l'utilisation, consultez la documentation officielle de TFLite.

De plus, si vous êtes curieux des autres intégrations Ultralytics YOLO26, consultez notre page du guide d'intégration. Vous y trouverez de nombreuses informations et aperçus utiles.

FAQ

Comment exporter un modèle YOLO26 au format TFLite ?

Pour exporter un modèle YOLO26 au format TFLite, vous pouvez utiliser la bibliothèque Ultralytics. Tout d'abord, installez le package requis en utilisant :

pip install ultralytics

Ensuite, utilisez l'extrait de code suivant pour exporter votre modèle:

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

Pour les utilisateurs de CLI, vous pouvez y parvenir avec :

yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'

Pour plus de détails, consultez le guide d'exportation Ultralytics.

Quels sont les avantages d'utiliser TensorFlow Lite pour le déploiement de modèles YOLO26 ?

TensorFlow Lite (TFLite) est un framework open-source de deep learning conçu pour l'inférence embarquée, ce qui le rend idéal pour le déploiement de modèles YOLO26 sur les appareils mobiles, embarqués et IoT. Les principaux avantages incluent :

  • Optimisation sur l'appareil: Minimisez la latence et améliorez la confidentialité en traitant les données localement.
  • Compatibilité de la plateforme : 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, consultez le guide TFLite.

Est-il possible d'exécuter des modèles YOLO26 TFLite sur Raspberry Pi ?

Oui, vous pouvez exécuter des modèles YOLO26 TFLite sur Raspberry Pi pour améliorer les vitesses d'inférence. Tout d'abord, exportez votre modèle au format TFLite comme expliqué ci-dessus. Ensuite, utilisez un outil comme TensorFlow Lite Interpreter pour exécuter le modèle sur votre Raspberry Pi.

Pour des optimisations supplémentaires, vous pourriez envisager d'utiliser Coral Edge TPU. Pour des étapes détaillées, consultez notre guide de déploiement Raspberry Pi et le guide d'intégration Edge TPU.

Puis-je utiliser des modèles TFLite sur des microcontrôleurs pour les prédictions YOLO26 ?

Oui, TFLite prend en charge le déploiement sur des microcontrôleurs avec des ressources limitées. Le runtime principal de TFLite ne nécessite que 16 Ko de mémoire sur un Arm Cortex M3 et peut exécuter des modèles YOLO26 de base. Cela le rend adapté au déploiement sur des appareils avec une puissance de calcul et une mémoire minimales.

Pour commencer, consultez le guide TFLite Micro pour microcontrôleurs.

Quelles plateformes sont compatibles avec les modèles YOLO26 exportés au format TFLite ?

TensorFlow Lite offre une compatibilité étendue avec les plateformes, vous permettant de déployer des modèles YOLO26 sur une large gamme d'appareils, notamment :

  • Android et iOS : Prise en charge native via les bibliothèques TFLite Android et iOS.
  • Linux embarqué : Idéal pour les ordinateurs monocartes tels que Raspberry Pi.
  • Microcontrôleurs: Convient aux MCU avec des ressources limitées.

Pour plus d'informations sur les options de déploiement, consultez notre guide de déploiement détaillé.

Comment dépanner les problèmes courants lors de l'exportation de modèles YOLO26 vers TFLite ?

Si vous rencontrez des erreurs lors de l'exportation de modèles YOLO26 vers TFLite, les solutions courantes incluent :

  • Vérifier la compatibilité des packages: Assurez-vous d'utiliser des versions compatibles d'Ultralytics et TensorFlow. Consultez notre guide d'installation.
  • Prise en charge du modèle : Vérifiez que le modèle YOLO26 spécifique prend en charge l'exportation TFLite en consultant la page de documentation d'exportation d'Ultralytics.
  • Problèmes de quantification: Lorsque vous utilisez la quantification INT8, assurez-vous que le chemin d'accès à votre ensemble de données est correctement spécifié dans le data paramètre.

Pour des conseils de dépannage supplémentaires, consultez notre guide des problèmes courants.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 5 jours
glenn-jocherlakshanthadpderrengerlakshanthadambitious-octopusUltralyticsAssistantMatthewNoyceRizwanMunawarabirami-vina

Commentaires