Comment exécuter Ultralytics YOLO26 sur un Raspberry Pi avec un Coral Edge TPU#
Un Raspberry Pi est une plateforme économique et économe en énergie pour exécuter de la vision par ordinateur en périphérie, mais l'inférence sur appareil reste lente même avec des formats optimisés comme ONNX ou OpenVINO. Associer le Pi à un coprocesseur Coral Edge TPU délègue l'inférence à du matériel dédié et l'accélère considérablement. Ce guide te montre comment installer le runtime, exporter un modèle Ultralytics YOLO26 vers le 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 haute performance et à faible consommation pour les modèles TensorFlow Lite. C'est une excellente solution 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à de ce que le CPU du Raspberry Pi peut atteindre 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 — le USB Accelerator se connecte via USB 3.0, aucune intégration matérielle supplémentaire n'est donc requise.
Le official Coral guide est obsolète : les builds du runtime Coral d'origine 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 maintenu activement et le dernier tflite-runtime pour 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 bureau (Recommandé)
- Coral USB Accelerator
- Une plateforme non-ARM (Google Colab, une machine Linux x86_64 ou le Ultralytics Docker container) pour exporter le modèle, car le compilateur Edge TPU n'est pas disponible sur ARM
Ce guide suppose que tu as déjà une installation fonctionnelle de Raspberry Pi OS avec ultralytics et ses dépendances installés. Sinon, suis d'abord le quickstart guide.
Une fois les prérequis prêts, le flux de travail comporte trois étapes : installer le runtime Edge TPU sur le Pi, exporter ton modèle sur une machine non-ARM et exécuter l'inférence de nouveau sur le Pi.
Installer le runtime Edge TPU#
Le runtime est disponible en plusieurs versions, choisis donc celle qui correspond à ton système d'exploitation. La version haute fréquence fait fonctionner l'Edge TPU à une vitesse d'horloge plus élevée pour de meilleures performances, mais elle peut provoquer une limitation thermique (thermal throttling) — utilise une forme 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 depuis 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 pour que la nouvelle règle udev puisse prendre effet.
Supprime d'abord tout runtime existant
Si tu as déjà le runtime Coral Edge TPU 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 le Edge TPU, convertis ton modèle dans un format compatible. Exécute l'exportation sur une plateforme non-ARM — Google Colab, une machine Linux x86_64, le Ultralytics Docker container officiel, ou Ultralytics Platform — car le compilateur Edge TPU n'est pas disponible sur ARM. Consulte le mode Export mode pour voir 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 le 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 correctes sur le Raspberry Pi. Si TensorFlow est déjà installé, désinstalle-le d'abord :
pip uninstall tensorflow tensorflow-aarch64Installe ou mets ensuite à jour tflite-runtime :
pip install -U tflite-runtimeMaintenant, tu peux exécuter l'inférence :
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")Trouve tous les détails sur le mode de prédiction sur la page Predict.
Si tu possèdes 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/<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 TPUBenchmarks#
Les chiffres ci-dessous ont été mesurés avec Raspberry Pi OS Bookworm 64 bits et un USB Coral Edge TPU. Ils montrent uniquement le temps d'inférence (prétraitement/post-traitement exclus) et servent de référence relative pour l'accélération fournie par l'Edge TPU sur les modèles Pi et les modes d'horloge.
Ces benchmarks ont été enregistré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 Pi et les modes d'horloge sont 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 avec le mode standard que le Raspberry Pi 4B.
- Le Raspberry Pi 5 est 30,2 % plus rapide avec le 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 un appareil d'inférence performant et économe en énergie 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 en périphérie accélérée. Pour plus d'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 haute performance et à faible consommation, particulièrement optimisée pour les modèles TensorFlow Lite. Sur un Raspberry Pi, il accélère l'inférence bien au-delà de ce que le CPU atteint seul, ce qui améliore considérablement les performances des modèles Ultralytics YOLO26.
Oui. Exécute l'exportation sur Google Colab, une machine Linux x86_64 ou le Ultralytics Docker container ; tu peux aussi utiliser Ultralytics Platform. Voici comment l'exporter avec Python et CLI :
Exportation du 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, réfère-toi à la documentation du Export mode.
Si tu as TensorFlow installé et que tu dois passer à
tflite-runtime, désinstalle d'abord TensorFlow :pip uninstall tensorflow tensorflow-aarch64Installe ou mets ensuite à jour
tflite-runtime:pip install -U tflite-runtimePour des instructions détaillées, réfère-toi à la section Run Inference on the Edge TPU.
Après avoir exporté ton modèle YOLO26 vers un format compatible Edge TPU, exécute l'inférence avec les extraits suivants. Le fichier du modèle doit conserver le suffixe
_edgetpu.tflitepour qu'Ultralytics le charge sur le Edge TPU :Exécution du modèlefrom 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")Des détails complets sur le mode de prédiction se trouvent sur la page Predict.
Télécharge le paquet
.debapproprié pour ta version de Raspberry Pi OS depuis ce lien, puis installe-le :Assure-toi de désinstaller toutes les versions précédentes du runtime Coral Edge TPU en suivant les étapes de la section Install the Edge TPU Runtime.