Coral Edge TPU sur un Raspberry Pi avec Ultralytics YOLO11 🚀
Qu'est-ce qu'un Coral Edge TPU?
Le Coral Edge TPU est un dispositif compact qui ajoute un coprocesseur Edge TPU à votre système. Il permet une inférence ML à faible consommation d'énergie et à haute performance pour les modèles Lite. TensorFlow modèles légers. Pour en savoir plus, consultez la page d'accueil du Coral Edge TPU .
Regarder : Comment exécuter l'inférence sur Raspberry Pi en utilisant Google Coral Edge TPU
Améliorer 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 en utilisant des formats tels que ONNX ou OpenVINO. Le Coral Edge TPU est une excellente solution à ce problème, car 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 la façon d'utiliser l'Edge TPU avec un Raspberry Pi est dépassé, et les builds actuels du runtime Coral Edge TPU ne fonctionnent plus avec les versions actuelles du runtime TensorFlow Lite. De plus, Google semble avoir complètement abandonné le projet Coral, et il n'y a eu aucune mise à jour entre 2021 et 2024. Ce guide vous 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 Raspberry Pi single board computer (SBC).
Conditions préalables
- Raspberry Pi 4B (2GB ou plus recommandé) ou Raspberry Pi 5 (recommandé)
- Raspberry Pi OS Bullseye/Bookworm (64-bit) avec bureau (recommandé)
- Accélérateur USB Coral
- Une plateforme non-ARM pour l'exportation d'un Ultralytics PyTorch modèle
Guide d'installation
Ce guide suppose que vous disposez déjà d'un Raspberry Pi OS fonctionnel et que vous avez installé ultralytics
et toutes les dépendances. Pour obtenir ultralytics
installé, visitez le site guide de démarrage rapide pour l'installer avant de continuer.
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, vous devez donc choisir la bonne version pour votre 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échargez la dernière version à partir d'ici.
Après avoir téléchargé le fichier, vous pouvez l'installer avec la commande suivante :
Après avoir installé le runtime, vous devez brancher votre Coral Edge TPU sur un port USB 3.0 de votre Raspberry Pi. En effet, selon le guide officiel, un nouveau port USB 3.0 doit être installé sur votre Raspberry Pi. udev
doit prendre effet après l'installation.
Important
Si le moteur d'exécution Coral Edge TPU est déjà installé, désinstallez-le à l'aide de la commande suivante.
Exporter votre modèle vers un modèle compatible avec Edge TPU
Pour utiliser Edge TPU, vous devez convertir votre 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 les arguments disponibles.
Exporter le modèle
Le modèle exporté sera enregistré dans le fichier <model_name>_saved_model/
avec le nom <model_name>_full_integer_quant_edgetpu.tflite
. Il est important que votre modèle se termine par le suffixe _edgetpu.tflite
sinon ultralytics ne sait pas que vous utilisez un modèle Edge TPU .
Exécution du modèle
Avant de pouvoir exécuter le modèle, vous devez installer les bibliothèques appropriées.
Si tensorflow
est installé, désinstallez tensorflow avec la commande suivante :
Puis installer/mettre à jour tflite-runtime
:
Vous pouvez maintenant exécuter l'inférence à l'aide du code suivant :
Exécution du modèle
Vous trouverez des informations complètes sur la page Prédire pour connaître tous les détails du mode de prédiction.
Inférence avec plusieurs TPU Edge
Si vous avez plusieurs TPU Edge, vous pouvez utiliser le code suivant pour sélectionner une TPU spécifique.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png") # Inference defaults to the first TPU
model.predict("path/to/source.png", device="tpu:0") # Select the first TPU
model.predict("path/to/source.png", device="tpu:1") # Select the second TPU
FAQ
Qu'est-ce qu'un Coral Edge TPU et comment améliore-t-il les performances du Raspberry Pi avec Ultralytics YOLO11 ?
Le Coral Edge TPU est un dispositif compact conçu pour ajouter un coprocesseur Edge TPU à votre système. Ce coprocesseur permet une inférence d'apprentissage automatique à faible consommation d'énergie et à haute performance, particulièrement optimisée pour les modèles TensorFlow Lite. Lors de l'utilisation d'un Raspberry Pi, l'Edge TPU accélère l'inférence des modèles ML, augmentant considérablement les performances, en particulier pour les modèles Ultralytics YOLO11 . Vous pouvez en savoir plus sur le Coral Edge TPU sur leur page d'accueil.
Comment installer le runtime Coral Edge TPU sur un Raspberry Pi ?
Pour installer le runtime Coral Edge TPU sur votre Raspberry Pi, téléchargez le fichier .deb
pour la version de votre système d'exploitation Raspberry Pi à partir de ce lien. Une fois téléchargé, utilisez la commande suivante pour l'installer :
Veillez à 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 YOLO11 pour qu'il soit compatible avec Coral Edge TPU?
Oui, vous pouvez exporter votre modèle Ultralytics YOLO11 pour le rendre 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 . Vous pouvez également utiliser Ultralytics HUB pour l'exportation. Voici comment vous pouvez exporter votre modèle en utilisant Python et CLI:
Exporter le modèle
Pour plus d'informations, reportez-vous à la documentation sur le mode d'exportation.
Que dois-je faire si TensorFlow est déjà installé sur mon Raspberry Pi mais que je souhaite utiliser tflite-runtime à la place ?
Si vous avez installé TensorFlow sur votre Raspberry Pi et que vous avez besoin de passer à tflite-runtime
Vous devrez désinstaller TensorFlow avant de l'utiliser :
Ensuite, installez ou mettez à jour tflite-runtime
avec la commande suivante :
Pour une roue spécifique, telle que TensorFlow 2.15.0 tflite-runtime
Vous pouvez le télécharger à partir de ce lien et l'installer en utilisant pip
. Des instructions détaillées sont disponibles dans la section relative à l'exécution du modèle. Exécution du modèle.
Comment faire de l'inférence avec un modèle exporté YOLO11 sur un Raspberry Pi en utilisant Coral Edge TPU?
Après avoir exporté votre modèle YOLO11 dans un format compatible avec Edge TPU, vous pouvez exécuter l'inférence à l'aide des extraits de code suivants :
Exécution du modèle
Des détails complets sur les fonctionnalités du mode de prédiction sont disponibles sur la page Predict.