Apprends à exporter au format TFLite Edge TPU à partir du modèle YOLOv8
Le déploiement de modèles de vision par ordinateur sur des appareils dont la puissance de calcul est 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 plus rapides 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 neuronaux.
La fonction d'exportation au format TFLite Edge TPU te permet d'optimiser tes modèles pour les conférences à haute vitesse et à faible consommation d'énergie. Ultralytics YOLOv8 modèles pour l'inférence à haute vitesse et à faible consommation d'énergie. Dans ce guide, nous t'aiderons à convertir tes modèles au format TFLite Edge TPU , ce qui permettra à tes modèles de fonctionner plus facilement sur divers appareils mobiles et embarqués.
Pourquoi exporter vers TFLite Edge TPU?
L'exportation de modèles vers TensorFlow Edge TPU rend les tâches d'apprentissage automatique rapides et efficaces. Cette technologie convient aux applications dont la puissance, les ressources informatiques et la connectivité sont limitées. Le Edge TPU est un accélérateur matériel de Google. Il accélère les modèles TensorFlow Lite sur les appareils périphériques. L'image ci-dessous montre un exemple du processus impliqué.
The Edge TPU fonctionne avec des modèles quantifiés. La quantification rend les modèles plus petits et plus rapides sans perdre beaucoup 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 permettant un traitement rapide des données au niveau local, sans dépendance vis-à -vis du cloud. Le traitement local permet également de préserver la confidentialité et la sécurité des données de l'utilisateur puisqu'elles ne sont pas envoyées à un serveur distant.
Caractéristiques principales de TFLite Edge TPU
Voici les principales caractéristiques 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 permet d'obtenir des performances de réseau neuronal à grande vitesse grâce à la quantification, à l'optimisation du modèle, à l'accélération matérielle et à l'optimisation du compilateur. Son architecture minimaliste contribue à sa taille réduite et à sa rentabilité.
-
Haut débit de calcul: TFLite Edge TPU combine une accélération matérielle spécialisée et une exécution efficace pour atteindre un débit de calcul élevé. Il est bien adapté au déploiement de modèles d'apprentissage automatique avec des exigences strictes en matière de performances sur les appareils périphériques.
-
Calculs matriciels efficaces: Le TensorFlow Edge TPU est optimisé pour les opérations matricielles, qui sont cruciales pour les calculs des réseaux neuronaux. Cette efficacité est essentielle dans les modèles d'apprentissage automatique, en particulier ceux qui nécessitent des multiplications et des transformations matricielles nombreuses et complexes.
Options de déploiement avec TFLite Edge TPU
Avant de voir comment exporter les modèles YOLOv8 au format TFLite Edge TPU , nous allons comprendre où les modèles TFLite Edge TPU sont généralement utilisés.
TFLite Edge TPU propose différentes options de déploiement pour les modèles d'apprentissage automatique, notamment :
-
Déploiement sur les appareils: TensorFlow Les modèles Edge TPU peuvent être directement déployés 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, ce qui élimine le besoin de connectivité au nuage.
-
Informatique de périphérie avec les TPU du nuage TensorFlow : Dans les scénarios où les appareils périphériques ont des capacités de traitement limitées, TensorFlow Edge TPUs peut décharger les tâches d'inférence sur des serveurs en nuage équipés de TPUs.
-
Déploiement hybride: Une approche hybride combine le déploiement sur appareil et sur le cloud et offre une solution polyvalente et évolutive pour le déploiement de modèles d'apprentissage automatique. Les avantages comprennent le traitement sur appareil pour des réponses rapides et le cloud computing pour des calculs plus complexes.
Exporter les modèles YOLOv8 vers TFLite Edge TPU
Tu peux étendre la compatibilité des modèles et la flexibilité du déploiement en convertissant les modèles YOLOv8 en TensorFlow Edge TPU.
Installation
Pour installer le paquetage requis, exécute :
Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installationUltralytics . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver 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 YOLOv8 sont disponibles pour l'exportation, tu peux t'assurer que le modèle que tu as choisi prend en charge la fonctionnalité d'exportation ici.
Utilisation
from ultralytics import YOLO
# Load the YOLOv8 model
model = YOLO('yolov8n.pt')
# Export the model to TFLite Edge TPU format
model.export(format='edgetpu') # creates 'yolov8n_full_integer_quant_edgetpu.tflite’
# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO('yolov8n_full_integer_quant_edgetpu.tflite')
# Run inference
results = edgetpu_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TFLite Edge TPU format
yolo export model=yolov8n.pt format=edgetpu # creates 'yolov8n_full_integer_quant_edgetpu.tflite'
# Run inference with the exported model
yolo predict model=yolov8n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'
Pour plus de détails sur les options d'exportation prises en charge, visite la page de documentationUltralytics sur les options de déploiement.
Déploiement des modèles exportés YOLOv8 TFLite Edge TPU
Après avoir exporté avec succès tes modèles Ultralytics YOLOv8 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 indiqué dans l'extrait de code précédent.
Cependant, pour des instructions approfondies sur le déploiement de tes modèles TFLite Edge TPU , jette un coup d'œil aux ressources suivantes :
-
Coral Edge TPU sur un Raspberry Pi avec Ultralytics YOLOv8: Découvre comment intégrer les TPU Coral Edge au Raspberry Pi pour améliorer les capacités d'apprentissage automatique.
-
Exemples de codes: Accède à des exemples pratiques de déploiement de TensorFlow Edge TPU pour donner un coup de fouet à tes projets.
-
Exécute Inference on the Edge TPU avec Python: Explore comment utiliser l'API TensorFlow Lite Python pour les applications Edge TPU , y compris les directives de configuration et d'utilisation.
Résumé
Dans ce guide, nous avons appris à exporter les modèles Ultralytics YOLOv8 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 vision par ordinateur.
Pour plus de détails sur l'utilisation, visite le site officiel de Edge TPU .
Aussi, pour plus d'informations sur d'autres intégrations de Ultralytics YOLOv8 , visite notre page de guide d'intégration. Tu y découvriras des ressources et des informations précieuses.