Coral Edge TPU sur un Raspberry Pi avec Ultralytics YOLOv8 🚀
Qu'est-ce qu'un Coral Edge TPU?
Le Coral Edge TPU est un appareil compact qui ajoute un coprocesseur Edge TPU à ton système. Il permet une inférence ML à faible consommation d'énergie et à haute performance pour les modèles TensorFlow Lite. Pour en savoir plus, consulte la page d'accueil du Coral Edge TPU .
Regarde : How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Améliore les performances du modèle Raspberry Pi avec Coral Edge TPU
De nombreuses personnes souhaitent exécuter leurs modèles sur un appareil embarqué ou mobile tel qu'un Raspberry Pi, car ils sont très économes en énergie et peuvent être utilisés dans de nombreuses applications différentes. Cependant, les performances d'inférence sur ces appareils sont généralement médiocres, même lorsque l'on utilise des formats comme onnx ou openvino. Le Coral Edge TPU est une excellente solution à ce problème, puisqu'il peut être utilisé avec un Raspberry Pi et accélérer considérablement les performances d'inférence.
Edge TPU sur Raspberry Pi avec TensorFlow Lite (Nouveau)⭐
Le guide existant de Coral sur l'utilisation de l'Edge TPU avec un Raspberry Pi est obsolète, et les builds actuels du runtime Coral Edge TPU ne fonctionnent plus avec les versions actuelles du runtime TensorFlow Lite. En plus de cela, Google semble avoir complètement abandonné le projet Coral, et il n'y a pas eu de mises à jour entre 2021 et 2024. Ce guide te montrera comment faire fonctionner l'Edge TPU avec les dernières versions du runtime TensorFlow Lite et un runtime Coral Edge TPU mis à jour sur un ordinateur monocarte (SBC) Raspberry Pi.
Conditions préalables
- Raspberry Pi 4B (2 Go ou plus recommandés) ou Raspberry Pi 5 (recommandé)
- Raspberry Pi OS Bullseye/Bookworm (64 bits) avec bureau (recommandé)
- Accélérateur USB Coral
- Une plateforme non-ARM pour exporter un modèle Ultralytics PyTorch
Guide d'installation
Ce guide suppose que tu disposes déjà d'un Raspberry Pi OS fonctionnel et que tu l'as installé. ultralytics
et toutes les dépendances. Pour obtenir ultralytics
installé, visite le site guide de démarrage rapide pour l'installer avant de continuer ici.
Installation du moteur d'exécution Edge TPU
Tout d'abord, nous devons installer le moteur d'exécution Edge TPU . Il existe de nombreuses versions différentes, tu dois donc choisir la bonne version pour ton système d'exploitation.
Système d'exploitation Raspberry Pi | Mode haute fréquence | Version à télécharger |
---|---|---|
Bullseye 32bit | Non | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | Non | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | Oui | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64bit | Oui | libedgetpu1-max_ ... .bullseye_arm64.deb |
Bookworm 32bit | Non | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bookworm 64bit | Non | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bookworm 32bit | Oui | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bookworm 64bit | Oui | libedgetpu1-max_ ... .bookworm_arm64.deb |
Télécharge la dernière version ici.
Après avoir téléchargé le fichier, tu peux l'installer avec la commande suivante :
Après avoir installé le runtime, tu dois brancher ton Coral Edge TPU sur un port USB 3.0 de ton Raspberry Pi. En effet, d'après le guide officiel, un nouveau udev
doit prendre effet après l'installation.
Important
Si le moteur d'exécution Coral Edge TPU est déjà installé, désinstalle-le à l'aide de la commande suivante.
Exporte ton modèle vers un modèle compatible avec Edge TPU
Pour utiliser le Edge TPU, tu dois convertir ton modèle dans un format compatible. Il est recommandé d'exécuter l'exportation sur Google Colab, une machine Linux x86_64, en utilisant le conteneur Docker officiel Ultralytics , ou en utilisant Ultralytics HUB, car le compilateur Edge TPU n'est pas disponible sur ARM. Voir le mode d'exportation pour connaître les arguments disponibles.
Exporting the model
Le modèle exporté sera sauvegardé dans le fichier <model_name>_saved_model/
avec le nom <model_name>_full_integer_quant_edgetpu.tflite
.
Exécuter le modèle
Après avoir exporté ton modèle, tu peux lancer l'inférence avec lui en utilisant le code suivant :
Exécuter le modèle
Tu trouveras des informations complètes sur la page Prédire pour connaître tous les détails du mode de prédiction.
Important
Tu dois exécuter le modèle en utilisant tflite-runtime
et non tensorflow
.
Si tensorflow
est installé, désinstalle tensorflow à l'aide de la commande suivante :
Puis installe/mets à jour tflite-runtime
:
Si tu veux un tflite-runtime
roue pour tensorflow
2.15.0 télécharge-le à partir de ici et l'installer en utilisant pip
ou le gestionnaire de paquets de ton choix.
FAQ
Qu'est-ce qu'un Coral Edge TPU et comment améliore-t-il les performances du Raspberry Pi avec Ultralytics YOLOv8 ?
Le Coral Edge TPU est un dispositif compact conçu pour ajouter un coprocesseur Edge TPU à ton système. Ce coprocesseur permet une inférence d'apprentissage automatique à faible consommation et à haute performance, particulièrement optimisée pour les modèles TensorFlow Lite. Lorsque tu utilises un Raspberry Pi, le Edge TPU accélère l'inférence des modèles ML, ce qui augmente considérablement les performances, en particulier pour les modèles Ultralytics YOLOv8 . Tu peux en savoir plus sur le Coral Edge TPU sur leur page d'accueil.
Comment installer le moteur d'exécution Coral Edge TPU sur un Raspberry Pi ?
Pour installer le moteur d'exécution Coral Edge TPU sur ton Raspberry Pi, télécharge le fichier approprié. .deb
pour la version de ton système d'exploitation Raspberry Pi à partir de ce lien. Une fois téléchargé, utilise la commande suivante pour l'installer :
Assure-toi de désinstaller toute version antérieure du moteur d'exécution de Coral Edge TPU en suivant les étapes décrites dans la section Installation Walkthrough.
Puis-je exporter mon modèle Ultralytics YOLOv8 pour qu'il soit compatible avec Coral Edge TPU?
Oui, tu peux exporter ton modèle Ultralytics YOLOv8 pour qu'il soit compatible avec le Coral Edge TPU. Il est recommandé d'effectuer l'exportation sur Google Colab, une machine Linux x86_64, ou en utilisant le conteneur Docker Ultralytics . Tu peux aussi utiliser Ultralytics HUB pour l'exportation. Voici comment tu peux exporter ton modèle en utilisant Python et CLI:
Exporting the model
Pour plus d'informations, reporte-toi à la documentation sur le mode d'exportation.
Que dois-je faire si TensorFlow est déjà installé sur mon Raspberry Pi mais que je veux utiliser tflite-runtime à la place ?
Si tu as installé TensorFlow sur ton Raspberry Pi et que tu as besoin de passer à tflite-runtime
Tu devras désinstaller TensorFlow avant d'utiliser :
Ensuite, installe ou mets à jour tflite-runtime
avec la commande suivante :
Pour une roue spécifique, par exemple TensorFlow 2.15.0 tflite-runtime
Tu peux le télécharger à partir de ce lien et l'installer en utilisant pip
. Des instructions détaillées sont disponibles dans la section sur l'exécution du modèle Exécuter le modèle.
Comment faire de l'inférence avec un modèle exporté YOLOv8 sur un Raspberry Pi à l'aide de Coral Edge TPU?
Après avoir exporté ton modèle YOLOv8 dans un format compatible avec Edge TPU, tu peux lancer l'inférence à l'aide des extraits de code suivants :
Exécuter le modèle
Des détails complets sur les fonctionnalités du mode prédiction sont disponibles sur la page Prédire.