Comment exécuter Ultralytics YOLO26 sur un Raspberry Pi avec un Coral Edge TPU#
Un Raspberry Pi est une plateforme économe en énergie et abordable pour exécuter de la vision par ordinateur à la 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éporte l'inférence vers un matériel dédié et l'accélère considérablement. Ce guide t'explique comment installer le runtime, exporter un modèle Ultralytics YOLO26 au format Edge TPU et exécuter une inférence accélérée.
Watch: How to Run Inference on Raspberry Pi using 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 une inférence ML performante et peu énergivore pour les modèles TensorFlow Lite. Il convient parfaitement aux déploiements embarqués et mobiles où un CPU seul ne peut pas suivre :
- Inférence plus rapide — l'Edge TPU accélère les modèles quantifiés bien au-delà de ce que le CPU du Raspberry Pi peut accomplir seul.
- Faible consommation d'énergie — il offre un débit élevé par watt, idéal pour les déploiements alimentés par batterie ou par énergie solaire.
- Prêt à l'emploi — l'USB Accelerator 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 anciennes versions du runtime Coral ne fonctionnent plus avec les versions actuelles du runtime TensorFlow Lite, et le projet n'a reçu aucune mise à jour entre 2021 et 2025. Ce guide utilise un runtime 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é) ou Raspberry Pi 5 (recommandé)
- Raspberry Pi OS Bullseye/Bookworm (64 bits) avec environnement de bureau (recommandé)
- Coral USB Accelerator
- Une plateforme non ARM (Google Colab, une machine Linux x86_64 ou le conteneur Docker Ultralytics) pour exporter le modèle, car le compilateur Edge TPU n'est pas disponible sur ARM
Ce guide part du principe que tu disposes déjà d'une installation fonctionnelle de Raspberry Pi OS avec ultralytics et ses dépendances installés. Si ce n'est pas le cas, suis d'abord le guide de démarrage rapide.
Une fois les prérequis réunis, le workflow se déroule en trois étapes : installer le runtime Edge TPU sur le Pi, exporter ton modèle sur une machine non ARM, puis exécuter l'inférence de nouveau sur le Pi.
Installer le runtime Edge TPU#
Le runtime est disponible en plusieurs versions, alors 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 de meilleures performances, mais elle peut provoquer une limitation thermique — utilise 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é le runtime, branche ton Coral Edge TPU sur un port USB 3.0 du Raspberry Pi afin que la nouvelle règle udev puisse prendre effet.
Supprime d'abord tout runtime existant
Si le runtime 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 une plateforme non ARM — Google Colab, une machine Linux x86_64, le conteneur Docker officiel Ultralytics ou Ultralytics Platform — car le compilateur Edge TPU n'est pas disponible sur ARM. Consulte le mode Export pour connaître les arguments disponibles.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
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 autrement, Ultralytics le chargera comme un modèle TensorFlow Lite standard 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
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")Tu trouveras tous les détails du mode de prédiction sur la page Predict.
Si tu disposes de plusieurs Edge TPU, tu peux en sélectionner un spécifique avec l'argument device.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_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 TPUBenchmarks#
Les chiffres ci-dessous ont été mesurés avec Raspberry Pi OS Bookworm 64 bits et un Coral Edge TPU USB. Ils indiquent uniquement le temps d'inférence (prétraitement et post-traitement exclus) et servent de référence relative pour l'accélération fournie 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 des images, mais les gains de vitesse relatifs entre les modèles de Pi et les modes d'horloge restent valables.
| 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 en mode standard que le Raspberry Pi 4B.
- Le Raspberry Pi 5 est 30,2 % plus rapide en mode haute fréquence que le Raspberry Pi 4B.
- Le mode haute fréquence est 28,4 % plus rapide que le mode standard.
Conclusion#
Un Coral Edge TPU transforme un Raspberry Pi en appareil d'inférence performant et peu énergivore pour Ultralytics YOLO26. Exporte ton modèle sur une machine non ARM, conserve le suffixe _edgetpu.tflite et exécute-le avec tflite-runtime sur le Pi pour obtenir une inférence accélérée à la 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 une inférence ML performante et peu énergivore, particulièrement optimisée pour les modèles TensorFlow Lite. Sur un Raspberry Pi, il accélère l'inférence bien au-delà des capacités du CPU seul, ce qui améliore considérablement les performances des modèles Ultralytics YOLO26.
Oui. Effectue l'export sur Google Colab, une machine Linux x86_64 ou le conteneur Docker Ultralytics ; tu peux également utiliser Ultralytics Platform. Voici comment exporter avec Python et la CLI :
Exporter le modèlefrom ultralytics import YOLO # Load a model model = YOLO("path/to/model.pt") # Load an official model or custom model # Export the model model.export(format="edgetpu")Pour plus d'informations, 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 avec les extraits de code suivants. Le fichier du modèle doit conserver le suffixe
_edgetpu.tfliteafin qu'Ultralytics le charge sur l'Edge TPU :Exécuter le modèlefrom ultralytics import YOLO # Load a model model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model # Run Prediction model.predict("path/to/source.png")Tu trouveras des informations complètes sur le mode de prédiction sur la page Predict.
Télécharge le paquet
.debapproprié pour ta version de Raspberry Pi OS depuis ce lien, puis installe-le :Veille à désinstaller toutes les versions précédentes du runtime Coral Edge TPU en suivant les étapes de la section Installer le runtime Edge TPU.