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 .
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 le 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, sur 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.
Exportation
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 :
Courir
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.