Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLO26 🚀
Was ist eine Coral Edge TPU?
Die Coral Edge TPU ist ein kompaktes Gerät, das deinem System einen Edge TPU-Koprozessor hinzufügt. Sie ermöglicht stromsparende Hochleistungs-ML-Inferenz für TensorFlow Lite-Modelle. Mehr dazu erfährst du auf der Coral Edge TPU-Homepage.
Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Leistungssteigerung für den Raspberry Pi mit der Coral Edge TPU
Viele möchten ihre Modelle auf einem eingebetteten Gerät oder Mobilgerät wie einem Raspberry Pi ausführen, da diese sehr energieeffizient sind und in vielen verschiedenen Anwendungen eingesetzt werden können. Die Inferenzleistung auf diesen Geräten ist jedoch normalerweise gering, selbst wenn Formate wie ONNX oder OpenVINO verwendet werden. Die Coral Edge TPU ist eine großartige Lösung für dieses Problem, da sie mit einem Raspberry Pi verwendet werden kann und die Inferenzleistung erheblich beschleunigt.
Edge TPU auf dem Raspberry Pi mit TensorFlow Lite (Neu)⭐
Der bestehende Leitfaden von Coral zur Verwendung der Edge TPU mit einem Raspberry Pi ist veraltet, und die aktuellen Coral Edge TPU-Runtime-Builds funktionieren nicht mehr mit den aktuellen TensorFlow Lite-Runtime-Versionen. Darüber hinaus scheint Google das Coral-Projekt komplett aufgegeben zu haben, und es gab zwischen 2021 und 2025 keinerlei Updates. Dieser Leitfaden zeigt dir, wie du die Edge TPU mit den neuesten Versionen der TensorFlow Lite-Runtime und einer aktualisierten Coral Edge TPU-Runtime auf einem Raspberry Pi Einplatinencomputer (SBC) zum Laufen bringst.
Voraussetzungen
- Raspberry Pi 4B (2 GB oder mehr empfohlen) oder Raspberry Pi 5 (Empfohlen)
- Raspberry Pi OS Bullseye/Bookworm (64-bit) mit Desktop (Empfohlen)
- Coral USB Accelerator
- Eine nicht-ARM-basierte Plattform zum Exportieren eines Ultralytics PyTorch Modells
Installationsanleitung
Dieser Leitfaden setzt voraus, dass du bereits eine funktionierende Raspberry Pi OS-Installation hast und ultralytics sowie alle Abhängigkeiten installiert hast. Um ultralytics zu installieren, besuche die Schnellstartanleitung, um dich einzurichten, bevor du hier fortfährst.
Installation der Edge TPU-Runtime
Zuerst müssen wir die Edge TPU-Runtime installieren. Es sind viele verschiedene Versionen verfügbar, daher musst du die richtige Version für dein Betriebssystem auswählen. Die Hochfrequenzversion betreibt die Edge TPU mit einer höheren Taktrate, was die Leistung verbessert. Dies kann jedoch zu einer thermischen Drosselung der Edge TPU führen, daher wird empfohlen, eine Art Kühlmechanismus zu verwenden.
| Raspberry Pi OS | Hochfrequenz-Modus | Version zum Herunterladen |
|---|---|---|
| Bullseye 32bit | Nein | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64bit | Nein | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32bit | Ja | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64bit | Ja | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32bit | Nein | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64bit | Nein | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32bit | Ja | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64bit | Ja | libedgetpu1-max_ ... .bookworm_arm64.deb |
Lade die neueste Version hier herunter.
Nachdem du die Datei heruntergeladen hast, kannst du sie mit dem folgenden Befehl installieren:
sudo dpkg -i path/to/package.debNach der Installation der Runtime schließe deine Coral Edge TPU an einen USB 3.0-Anschluss am Raspberry Pi an, damit die neue udev-Regel wirksam werden kann.
Wichtig
Wenn du die Coral Edge TPU-Runtime bereits installiert hast, deinstalliere sie mit dem folgenden Befehl.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxExport zur Edge TPU
Um die Edge TPU zu nutzen, musst du dein Modell in ein kompatibles Format konvertieren. Es wird empfohlen, den Export in Google Colab, auf einem x86_64 Linux-Rechner, unter Verwendung des offiziellen Ultralytics Docker-Containers oder mit der Ultralytics-Plattform durchzuführen, da der Edge TPU-Compiler auf ARM nicht verfügbar ist. Siehe den Export-Modus für die verfügbaren Argumente.
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")Das exportierte Modell wird im Ordner <model_name>_saved_model/ unter dem Namen <model_name>_full_integer_quant_edgetpu.tflite gespeichert. Stelle sicher, dass der Dateiname mit dem Suffix _edgetpu.tflite endet; andernfalls erkennt Ultralytics nicht, dass du ein Edge TPU-Modell verwendest.
Ausführen des Modells
Bevor du das Modell tatsächlich ausführen kannst, musst du die richtigen Bibliotheken installieren.
Wenn du TensorFlow bereits installiert hast, deinstalliere es mit dem folgenden Befehl:
pip uninstall tensorflow tensorflow-aarch64Installiere oder aktualisiere dann tflite-runtime:
pip install -U tflite-runtimeJetzt kannst du die Inferenz mit dem folgenden Code ausführen:
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")Umfassende Informationen findest du auf der Seite Vorhersage für alle Details zum Vorhersagemodus.
Wenn du mehrere Edge TPUs hast, kannst du den folgenden Code verwenden, um eine bestimmte TPU auszuwählen.
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
Getestet mit Raspberry Pi OS Bookworm 64-bit und einer USB Coral Edge TPU.
Dargestellt ist die Inferenzzeit; Vor-/Nachbearbeitung ist nicht enthalten.
| Bildgröße | Modell | Standard-Inferenzzeit (ms) | Hochfrequenz-Inferenzzeit (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 |
Im Durchschnitt:
- Der Raspberry Pi 5 ist im Standardmodus 22 % schneller als der Raspberry Pi 4B.
- Der Raspberry Pi 5 ist im Hochfrequenzmodus 30,2 % schneller als der Raspberry Pi 4B.
- Der Hochfrequenzmodus ist 28,4 % schneller als der Standardmodus.
FAQ
Was ist eine Coral Edge TPU und wie verbessert sie die Leistung des Raspberry Pi mit Ultralytics YOLO26?
Die Coral Edge TPU ist ein kompaktes Gerät, das entwickelt wurde, um deinem System einen Edge TPU-Koprozessor hinzuzufügen. Dieser Koprozessor ermöglicht eine stromsparende Hochleistungs-Inferenz für maschinelles Lernen, die insbesondere für TensorFlow Lite-Modelle optimiert ist. Bei der Verwendung eines Raspberry Pi beschleunigt die Edge TPU die Inferenz von ML-Modellen und steigert die Leistung erheblich, insbesondere bei Ultralytics YOLO26-Modellen. Mehr über die Coral Edge TPU erfährst du auf ihrer Homepage.
Wie installiere ich die Coral Edge TPU-Runtime auf einem Raspberry Pi?
Um die Coral Edge TPU-Runtime auf deinem Raspberry Pi zu installieren, lade das passende .deb-Paket für deine Raspberry Pi OS-Version über diesen Link herunter. Sobald der Download abgeschlossen ist, verwende den folgenden Befehl zur Installation:
sudo dpkg -i path/to/package.debStelle sicher, dass du alle vorherigen Coral Edge TPU-Runtime-Versionen deinstallierst, indem du die Schritte im Abschnitt Installationsanleitung befolgst.
Kann ich mein Ultralytics YOLO26-Modell exportieren, um es mit der Coral Edge TPU kompatibel zu machen?
Ja, du kannst dein Ultralytics YOLO26-Modell so exportieren, dass es mit der Coral Edge TPU kompatibel ist. Es wird empfohlen, den Export in Google Colab, auf einem x86_64 Linux-Rechner oder unter Verwendung des Ultralytics Docker-Containers durchzuführen. Du kannst auch die Ultralytics-Plattform für den Export nutzen. Hier erfährst du, wie du dein Modell mit Python und CLI exportieren kannst:
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")Weitere Informationen findest du in der Dokumentation zum Export-Modus.
Was soll ich tun, wenn TensorFlow bereits auf meinem Raspberry Pi installiert ist, ich aber stattdessen tflite-runtime verwenden möchte?
Wenn du TensorFlow auf deinem Raspberry Pi installiert hast und zu tflite-runtime wechseln musst, musst du TensorFlow zuerst mit folgendem Befehl deinstallieren:
pip uninstall tensorflow tensorflow-aarch64Installiere oder aktualisiere dann tflite-runtime mit folgendem Befehl:
pip install -U tflite-runtimeDetaillierte Anweisungen findest du im Abschnitt Ausführen des Modells.
Wie führe ich eine Inferenz mit einem exportierten YOLO26-Modell auf einem Raspberry Pi unter Verwendung der Coral Edge TPU durch?
Nachdem du dein YOLO26-Modell in ein Edge TPU-kompatibles Format exportiert hast, kannst du die Inferenz mit den folgenden Code-Snippets ausführen:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/edgetpu_model.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")Umfassende Details zu den Funktionen des vollständigen Vorhersagemodus findest du auf der Vorhersageseite.