Comment exécuter Ultralytics YOLO26 sur un Raspberry Pi avec un Coral Edge TPU#
Un Raspberry Pi est une plateforme abordable et économe en énergie pour exécuter des tâches de vision par ordinateur en périphérie, mais l’inférence sur l’appareil est lente, même avec des formats optimisés comme ONNX ou OpenVINO. Associer le Pi à un coprocesseur Coral Edge TPU décharge l’inférence sur un matériel dédié et l’accélère considérablement. Ce guide t’explique comment installer l’environnement d’exécution, exporter un modèle Ultralytics YOLO26 au format Edge TPU et exécuter une inférence accélérée.
À regarder : Comment effectuer une inférence sur Raspberry Pi avec Google Coral Edge TPU
Pourquoi utiliser un Coral Edge TPU ?#
Le Coral Edge TPU est un appareil compact qui ajoute un coprocesseur Edge TPU à ton système, permettant l’inférence ML à faible consommation et hautes performances pour les modèles TensorFlow Lite. C’est un excellent choix pour les déploiements embarqués et mobiles où un CPU seul ne suffit pas :
- Inférence plus rapide — l’Edge TPU accélère les modèles quantifiés bien au-delà des performances d’un CPU de Raspberry Pi utilisé seul.
- Faible consommation électrique — il offre un débit élevé par watt, idéal pour les déploiements alimentés par batterie ou à l’énergie solaire.
- Prêt à l’emploi — l’Accélérateur USB se connecte via USB 3.0, sans nécessiter d’intégration matérielle supplémentaire.
Le guide officiel de Coral est obsolète : les versions d’origine de l’environnement d’exécution Coral ne fonctionnent plus avec les versions actuelles de l’environnement d’exécution TensorFlow Lite, et le projet n’a reçu aucune mise à jour entre 2021 et 2025. Ce guide utilise un environnement d’exécution Edge TPU activement maintenu et la dernière version de tflite-runtime afin que l’accélérateur fonctionne sur une installation actuelle de Raspberry Pi OS.
Prérequis#
- Raspberry Pi 4B (2 Go ou plus recommandés) ou Raspberry Pi 5 (recommandé)
- Raspberry Pi OS Bullseye/Bookworm (64 bits) avec environnement de bureau (recommandé)
- Coral USB Accelerator
- Une plateforme Linux x86_64 (Google Colab, une machine Linux x86_64 ou le conteneur Docker Ultralytics sur un hôte x86_64) pour exporter le modèle, car le compilateur Edge TPU est uniquement disponible sur Linux x86_64
Ce guide suppose que tu disposes déjà d’une installation fonctionnelle de Raspberry Pi OS avec ultralytics et ses dépendances installées. Si ce n’est pas le cas, commence par suivre le guide de démarrage rapide.
Une fois les prérequis réunis, le processus comprend trois étapes : installer l’environnement d’exécution Edge TPU sur le Pi, exporter ton modèle sur une machine Linux x86_64, puis exécuter l’inférence sur le Pi.
Installer l’environnement d’exécution Edge TPU#
L’environnement d’exécution est proposé en plusieurs versions : choisis celle qui correspond à ton système d’exploitation. La version haute fréquence fait fonctionner l’Edge TPU à une fréquence d’horloge plus élevée pour offrir de meilleures performances, mais elle peut entraîner une limitation thermique ; prévois un système de refroidissement si tu la choisis.
| Raspberry Pi OS | Mode haute fréquence | Version à télécharger |
|---|---|---|
| Bullseye 32 bits | Non | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64 bits | Non | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32 bits | Oui | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64 bits | Oui | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32 bits | Non | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64 bits | Non | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32 bits | Oui | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64 bits | Oui | libedgetpu1-max_ ... .bookworm_arm64.deb |
Télécharge la dernière version ici, puis installe le paquet .deb :
sudo dpkg -i path/to/package.debAprès avoir installé l’environnement d’exécution, branche ton Coral Edge TPU sur un port USB 3.0 du Raspberry Pi pour que la nouvelle règle udev puisse prendre effet.
Désinstalle d’abord tout environnement d’exécution existant
Si l’environnement d’exécution Coral Edge TPU est déjà installé, désinstalle-le avant d’installer une nouvelle version.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxExporter ton modèle au format Edge TPU#
Pour utiliser l’Edge TPU, convertis ton modèle dans un format compatible. Effectue l’export sur Linux x86_64 — Google Colab, une machine Linux x86_64, le conteneur Docker officiel Ultralytics sur un hôte x86_64 ou Ultralytics Platform — car le compilateur Edge TPU est uniquement disponible sur Linux x86_64. Consulte le mode Export pour connaître les arguments disponibles.
from ultralytics import YOLO
# Charger un modèle
model = YOLO("path/to/model.pt") # Charger un modèle officiel ou un modèle personnalisé
# Exporter le modèle
model.export(format="edgetpu")Le modèle exporté est enregistré dans le dossier <model_name>_saved_model/ sous le nom <model_name>_full_integer_quant_edgetpu.tflite.
Le nom du fichier doit se terminer par _edgetpu.tflite. Si tu le renommes, Ultralytics le chargera comme un modèle LiteRT standard (.tflite) au lieu de détecter l’Edge TPU, et l’accélérateur ne sera pas utilisé.
Exécuter l’inférence sur l’Edge TPU#
Avant d’exécuter le modèle, installe les bibliothèques appropriées sur le Raspberry Pi. Si TensorFlow est déjà installé, désinstalle-le d’abord :
pip uninstall tensorflow tensorflow-aarch64Installe ou mets maintenant à jour tflite-runtime :
pip install -U tflite-runtimeTu peux maintenant exécuter l’inférence :
from ultralytics import YOLO
# Charger un modèle
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Charger un modèle officiel ou un modèle personnalisé
# Exécuter une prédiction
model.predict("path/to/source.png")Consulte la page Predict pour obtenir tous les détails sur le mode de prédiction.
Si tu disposes de plusieurs Edge TPU, tu peux en sélectionner un précisément avec l’argument device.
from ultralytics import YOLO
# Charger un modèle
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Charger un modèle officiel ou un modèle personnalisé
# Exécuter une prédiction
model.predict("path/to/source.png") # Par défaut, l’inférence utilise le premier TPU
model.predict("path/to/source.png", device="tpu:0") # Sélectionner le premier TPU
model.predict("path/to/source.png", device="tpu:1") # Sélectionner le deuxième TPUBenchmarks#
Les valeurs ci-dessous ont été mesurées avec Raspberry Pi OS Bookworm 64 bits et un Coral Edge TPU USB. Elles indiquent uniquement le temps d’inférence (prétraitement et post-traitement exclus) et servent de référence comparative pour l’accélération apportée par l’Edge TPU selon les modèles et les modes de Pi.
Ces benchmarks ont été réalisés avec des modèles YOLOv8. Les temps d’inférence absolus varient selon la version du modèle et la taille de l’image, mais les accélérations relatives entre les modèles de Pi et les modes d’horloge restent comparables.
| Taille de l’image | Modèle | Temps d’inférence standard (ms) | Temps d’inférence haute fréquence (ms) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.3 |
En moyenne :
- Le Raspberry Pi 5 est 22 % plus rapide que le Raspberry Pi 4B en mode standard.
- Le Raspberry Pi 5 est 30,2 % plus rapide que le Raspberry Pi 4B en mode haute fréquence.
- Le mode haute fréquence est 28,4 % plus rapide que le mode standard.
Conclusion#
Un Coral Edge TPU transforme un Raspberry Pi en un appareil d’inférence performant et économe en énergie pour Ultralytics YOLO26. Exporte ton modèle sur une machine Linux x86_64, conserve le suffixe _edgetpu.tflite et exécute-le sur le Pi avec tflite-runtime pour bénéficier d’une inférence accélérée en périphérie. Pour découvrir d’autres options de déploiement, consulte le guide Raspberry Pi.
FAQ#
Le Coral Edge TPU est un appareil compact qui ajoute un coprocesseur Edge TPU à ton système. Ce coprocesseur permet l’inférence ML à faible consommation et hautes performances, optimisée en particulier pour les modèles TensorFlow Lite. Sur un Raspberry Pi, il accélère l’inférence bien au-delà des performances du CPU seul, ce qui améliore considérablement les performances des modèles Ultralytics YOLO26.
Télécharge le paquet
.debadapté à ta version de Raspberry Pi OS à partir de ce lien, puis installe-le :sudo dpkg -i path/to/package.debVeille à désinstaller toute version précédente de l’environnement d’exécution Coral Edge TPU en suivant les étapes de la section Installer l’environnement d’exécution Edge TPU.
Oui. Effectue l’export sur Google Colab, une machine Linux x86_64 ou le conteneur Docker Ultralytics ; tu peux aussi utiliser Ultralytics Platform. Voici comment exporter avec Python et la CLI :
Exporter le modèlefrom ultralytics import YOLO # Charger un modèle model = YOLO("path/to/model.pt") # Charger un modèle officiel ou un modèle personnalisé # Exporter le modèle model.export(format="edgetpu")Pour en savoir plus, consulte la documentation du mode Export.
Si TensorFlow est installé et que tu dois passer à
tflite-runtime, désinstalle d’abord TensorFlow :pip uninstall tensorflow tensorflow-aarch64Installe ou mets maintenant à jour
tflite-runtime:pip install -U tflite-runtimePour obtenir des instructions détaillées, consulte la section Exécuter l’inférence sur l’Edge TPU.
Après avoir exporté ton modèle YOLO26 dans un format compatible avec l’Edge TPU, exécute l’inférence à l’aide des extraits de code suivants. Le fichier du modèle doit conserver le suffixe
_edgetpu.tflitepour qu’Ultralytics le charge sur l’Edge TPU :Exécuter le modèlefrom ultralytics import YOLO # Charger un modèle model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Charger un modèle officiel ou un modèle personnalisé # Exécuter une prédiction model.predict("path/to/source.png")Tu trouveras tous les détails sur le mode de prédiction sur la page Predict.