Apprends à exporter vers le format TFLite Edge TPU depuis un modèle YOLO26#
Déployer des modèles de computer vision sur des appareils dotés d'une puissance de calcul limitée, tels que les systèmes mobiles ou embarqués, peut s'avérer délicat. L'utilisation d'un format de modèle optimisé pour des performances accrues simplifie le processus. Le format de modèle TensorFlow Lite Edge TPU ou TFLite Edge TPU est conçu pour consommer un minimum d'énergie tout en offrant des performances rapides pour les réseaux de neurones.
La fonctionnalité d'exportation au format TFLite Edge TPU te permet d'optimiser tes modèles Ultralytics YOLO26 pour une inférence à haute vitesse et basse consommation. Dans ce guide, nous t'accompagnons dans la conversion de tes modèles au format TFLite Edge TPU, facilitant ainsi leurs performances sur divers appareils mobiles et embarqués.
Pourquoi devrais-tu exporter vers TFLite Edge TPU ?#
L'exportation de modèles vers TensorFlow Edge TPU rend les tâches de machine learning rapides et efficaces. Cette technologie convient aux applications disposant d'une puissance, de ressources de calcul et d'une connectivité limitées. L'Edge TPU est un accélérateur matériel conçu par Google. Il accélère les modèles TensorFlow Lite sur les appareils de périphérie (edge). L'image ci-dessous montre un exemple du processus impliqué.
L'Edge TPU fonctionne avec des modèles quantifiés. La quantification rend les modèles plus petits et plus rapides sans perte majeure de précision. Elle est idéale pour les ressources limitées de l'edge computing, permettant aux applications de réagir rapidement en réduisant la latence et en autorisant un traitement rapide des données en local, sans dépendance au cloud. Le traitement local préserve également la confidentialité et la sécurité des données des utilisateurs puisqu'elles ne sont pas envoyées à un serveur distant.
Caractéristiques clés de TFLite Edge TPU#
Voici les caractéristiques clés qui font de TFLite Edge TPU un excellent choix de format de modèle pour les développeurs :
-
Performances optimisées sur les appareils Edge : Le TFLite Edge TPU atteint des performances élevées pour les réseaux de neurones grâce à la quantification, l'optimisation des modèles, l'accélération matérielle et l'optimisation par compilateur. Son architecture minimaliste contribue à sa taille réduite et à son efficacité économique.
-
Débit computationnel élevé : Le TFLite Edge TPU combine une accélération matérielle spécialisée et une exécution efficace du runtime pour atteindre un débit computationnel élevé. Il est bien adapté au déploiement de modèles de machine learning avec des exigences de performance strictes sur les appareils edge.
-
Calculs matriciels efficaces : Le TensorFlow Edge TPU est optimisé pour les opérations matricielles, qui sont cruciales pour les calculs de réseaux de neurones. Cette efficacité est essentielle dans les modèles de machine learning, en particulier ceux qui nécessitent de nombreuses multiplications et transformations matricielles complexes.
Options de déploiement avec TFLite Edge TPU#
Avant de passer à la manière d'exporter des modèles YOLO26 vers le format TFLite Edge TPU, comprenons où les modèles TFLite Edge TPU sont généralement utilisés.
TFLite Edge TPU offre diverses options de déploiement pour les modèles de machine learning, notamment :
-
Déploiement sur l'appareil (On-Device) : Les modèles TensorFlow Edge TPU peuvent être déployés directement sur des appareils mobiles et embarqués. Le déploiement sur l'appareil permet aux modèles de s'exécuter directement sur le matériel, éliminant le besoin de connectivité cloud, soit en intégrant le modèle dans le bundle de l'application, soit en le téléchargeant à la demande.
-
Edge Computing avec les TPU TensorFlow Cloud : Dans les scénarios où les appareils edge ont des capacités de traitement limitées, les TensorFlow Edge TPU peuvent décharger les tâches d'inférence vers des serveurs cloud équipés de TPU.
-
Déploiement hybride : Une approche hybride combine le déploiement sur l'appareil et dans le cloud, offrant une solution polyvalente et évolutive pour déployer des modèles de machine learning. Les avantages incluent le traitement sur l'appareil pour des réponses rapides et le cloud computing pour des calculs plus complexes.
Tâches prises en charge#
L'exportation Edge TPU prend en charge six des sept tâches Ultralytics. La segmentation sémantique n'est disponible qu'avec YOLO26, la seule famille qui intègre cette tête. L'estimation de profondeur n'est pas prise en charge car son modèle INT8 émet un opérateur EXP v2 que le compilateur Edge TPU ne peut pas analyser.
Le compilateur Edge TPU mappe les opérations qu'il prend en charge sur l'accélération et laisse le reste sur le CPU, de sorte que la prise en charge d'une tâche ne signifie pas que chaque opération s'exécute sur le TPU.
Exporter des modèles YOLO26 vers TFLite Edge TPU#
Tu peux étendre la compatibilité des modèles et la flexibilité de déploiement en convertissant les modèles YOLO26 vers TensorFlow Edge TPU.
Installation#
Pour installer le package requis, exécute :
# Install the required package for YOLO26
pip install ultralyticsPour des instructions détaillées et les meilleures pratiques relatives au processus d'installation, consultez notre guide d'installation Ultralytics. Si vous rencontrez des difficultés lors de l'installation des paquets requis pour YOLO26, consultez notre guide des problèmes courants pour trouver des solutions et des conseils.
Utilisation#
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation dès leur sortie de la boîte, ce qui facilite leur intégration dans ton flux de travail de déploiement préféré. Tu peux consulter la liste complète des formats d'export pris en charge et des options de configuration pour choisir la meilleure configuration pour ton application.
Le format TFLite Edge TPU prend en charge les modes Export, Predict et Validate. L'inférence et la validation s'exécutent sur le matériel Coral Edge TPU. Exporte ton modèle, puis charge le modèle exporté pour exécuter l'inférence ou valider sa précision.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite'from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Arguments d'exportation#
| Argument | Type | Défaut | Description |
|---|---|---|---|
format | str | 'edgetpu' | Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement. |
imgsz | int ou tuple | 640 | Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour des images carrées ou un tuple (height, width) pour des dimensions spécifiques. |
quantize | int ou str | 8/auto | Précision de quantification. 8 (INT8) est requis et activé automatiquement pour Edge TPU, ce qui compresse le modèle et accélère l'inférence avec une perte de précision minimale sur les appareils de périphérie. Remplace les indicateurs obsolètes half/int8. |
opset | int | None | Spécifie la version de l'opset ONNX pour le graphe ONNX intermédiaire. Si elle n'est pas définie, la dernière version prise en charge est utilisée. |
data | str | None | Chemin d'accès au fichier YAML du dataset, essentiel pour la quantification ; la classification prend à la place un répertoire de dataset ou un nom de dataset intégré. S'il est omis avec quantize=8, Ultralytics sélectionne le dataset de calibration par défaut pour la tâche du modèle. |
fraction | float, int ou list | 1.0 | Sous-ensemble de calibration sous forme de rapport, de nombre d'images ou de rapports/comptes [train, val] ; une liste limite train ou val, tandis que test reste complet. |
device | str | None | Spécifie l'appareil pour l'exportation : CPU (device=cpu). |
Assure-toi d'utiliser une machine Linux x86 lors de l'exportation vers EdgeTPU.
Pour plus de détails sur le processus d'exportation, visite la page de documentation d'Ultralytics sur l'exportation.
Déployer des modèles YOLO26 TFLite Edge TPU exportés#
Après avoir exporté avec succès tes modèles Ultralytics YOLO26 au format TFLite Edge TPU, tu peux maintenant les déployer. La première étape, recommandée pour exécuter un modèle TFLite Edge TPU, est d'utiliser la méthode YOLO("model_edgetpu.tflite"), comme décrit dans l'extrait de code d'utilisation précédent.
Cependant, pour des instructions approfondies sur le déploiement de tes modèles TFLite Edge TPU, jette un œil aux ressources suivantes :
-
Coral Edge TPU sur un Raspberry Pi avec Ultralytics YOLO26 : Découvre comment intégrer les Coral Edge TPU avec un Raspberry Pi pour des capacités de machine learning accrues.
-
Exemples de code : Accède à des exemples pratiques de déploiement TensorFlow Edge TPU pour démarrer tes projets.
-
Exécuter l'inférence sur l'Edge TPU avec Python : Explore comment utiliser l'API Python de TensorFlow Lite pour les applications Edge TPU, incluant les instructions de configuration et d'utilisation.
Résumé#
Dans ce guide, nous avons appris à exporter des modèles Ultralytics YOLO26 au format TFLite Edge TPU. En suivant les étapes mentionnées ci-dessus, tu peux augmenter la vitesse et la puissance de tes applications de computer vision.
Pour plus de détails sur l'utilisation, visite le site Web officiel d'Edge TPU.
De plus, pour plus d'informations sur les autres intégrations Ultralytics YOLO26, consulte notre page de guide d'intégration. Tu y découvriras des ressources et des informations précieuses.
FAQ#
Exporter des modèles YOLO26 vers TFLite Edge TPU offre plusieurs avantages :
- Performances optimisées : Atteins des performances élevées pour les réseaux de neurones avec une consommation d'énergie minimale.
- Latence réduite : Traitement rapide des données localement sans besoin de dépendance au cloud.
- Confidentialité améliorée : Le traitement local garde les données des utilisateurs privées et sécurisées.
Cela le rend idéal pour les applications d'edge computing, où les appareils disposent d'une puissance et de ressources de calcul limitées. Apprends-en davantage sur les raisons pour lesquelles tu devrais exporter.
Oui, les modèles TensorFlow Lite Edge TPU peuvent être déployés directement sur des appareils mobiles et embarqués. Cette approche de déploiement permet aux modèles de s'exécuter directement sur le matériel, offrant une inférence plus rapide et plus efficace. Pour des exemples d'intégration, consulte notre guide sur le déploiement de Coral Edge TPU sur Raspberry Pi.
Les cas d'utilisation courants pour les modèles TFLite Edge TPU incluent :
- Caméras intelligentes : Amélioration de l'analyse d'images et de vidéos en temps réel.
- Appareils IoT : Activation de la domotique et de l'automatisation industrielle.
- Santé : Accélération de l'imagerie médicale et des diagnostics.
- Commerce : Amélioration de la gestion des stocks et de l'analyse du comportement des clients.
Ces applications bénéficient des hautes performances et de la faible consommation d'énergie des modèles TFLite Edge TPU. Découvre-en plus sur les scénarios d'utilisation.
Si tu rencontres des problèmes lors de l'exportation ou du déploiement de modèles TFLite Edge TPU, réfère-toi à notre guide des problèmes courants pour obtenir des astuces de dépannage. Ce guide couvre les problèmes fréquents et leurs solutions pour t'aider à garantir un fonctionnement fluide. Pour une assistance supplémentaire, visite notre centre d'aide.
Pour exporter un modèle YOLO26 vers le format TFLite Edge TPU, tu peux suivre ces étapes :
Pour tous les détails sur l'exportation de modèles vers d'autres formats, réfère-toi à notre guide d'exportation.