Ultralytics YOLO27 :

Comment exécuter Ultralytics YOLO26 sur un Raspberry Pi avec un Coral Edge TPU#

Raspberry Pi with Edge TPU accelerator

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.
Runtime mis à jour pour TensorFlow Lite actuel

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#

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 OSMode haute fréquenceVersion à télécharger
Bullseye 32 bitsNonlibedgetpu1-std_ ... .bullseye_armhf.deb
Bullseye 64 bitsNonlibedgetpu1-std_ ... .bullseye_arm64.deb
Bullseye 32 bitsOuilibedgetpu1-max_ ... .bullseye_armhf.deb
Bullseye 64 bitsOuilibedgetpu1-max_ ... .bullseye_arm64.deb
Bookworm 32 bitsNonlibedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64 bitsNonlibedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32 bitsOuilibedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64 bitsOuilibedgetpu1-max_ ... .bookworm_arm64.deb

Télécharge la dernière version ici, puis installe le paquet .deb :

sudo dpkg -i path/to/package.deb

Aprè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-max

Exporter 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.

Exporter le modèle
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.

Conserve le suffixe `_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-aarch64

Installe ou mets maintenant à jour tflite-runtime :

pip install -U tflite-runtime

Tu peux maintenant exécuter l'inférence :

Exécuter le modèle
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.

Inférence avec plusieurs Edge TPU

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 TPU

Benchmarks#

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.

À propos de ces chiffres

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'imageModèleTemps d'inférence standard (ms)Temps d'inférence haute fréquence (ms)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.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.

  • Télécharge le paquet .deb approprié pour ta version de Raspberry Pi OS depuis ce lien, puis installe-le :

    sudo dpkg -i path/to/package.deb

    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.

  • 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èle
    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")

    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-aarch64

    Installe ou mets maintenant à jour tflite-runtime :

    pip install -U tflite-runtime

    Pour 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.tflite afin qu'Ultralytics le charge sur l'Edge TPU :

    Exécuter le modèle
    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 des informations complètes sur le mode de prédiction sur la page Predict.

Commentaires