Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLOv8 🚀
Was ist eine Coral Edge TPU?
Der Coral Edge TPU ist ein kompaktes Gerät, das dein System um einen Edge TPU Coprozessor erweitert. Er ermöglicht stromsparende und leistungsstarke ML-Inferenz für TensorFlow Lite-Modelle. Weitere Informationen findest du auf der Coral Edge TPU Homepage.
Die Leistung des Raspberry Pi Modells mit Coral Edge steigern TPU
Viele Menschen wollen ihre Modelle auf einem eingebetteten oder mobilen Gerät wie einem Raspberry Pi ausführen, da sie sehr stromsparend sind und in vielen verschiedenen Anwendungen eingesetzt werden können. Allerdings ist die Inferenzleistung auf diesen Geräten in der Regel schlecht, selbst wenn man Formate wie onnx oder openvino. Der Coral Edge TPU ist eine großartige Lösung für dieses Problem, da er mit einem Raspberry Pi verwendet werden kann und die Inferenzleistung erheblich beschleunigt.
Edge TPU auf dem Raspberry Pi mit TensorFlow Lite (Neu)⭐.
Die bestehende Anleitung von Coral zur Verwendung des 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. Außerdem scheint Google das Coral-Projekt komplett aufgegeben zu haben, und zwischen 2021 und 2024 gab es keine Updates mehr. Diese Anleitung zeigt dir, wie du den Edge TPU mit den neuesten Versionen der TensorFlow Lite Runtime und einer aktualisierten Coral Edge TPU Runtime auf einem Raspberry Pi Single Board Computer (SBC) zum Laufen bringst.
Voraussetzungen
- Raspberry Pi 4B (2GB 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
Komplettlösung für die Installation
In dieser Anleitung wird davon ausgegangen, dass du bereits ein funktionierendes Raspberry Pi OS hast und Folgendes installiert hast ultralytics
und alle Abhängigkeiten. Um die ultralytics
installiert, besuche die Schnellstartanleitung einrichten, bevor du hier weitermachst.
Installation der Edge TPU Laufzeitumgebung
Zuerst müssen wir die Edge TPU Runtime installieren. Es gibt viele verschiedene Versionen, also musst du die richtige Version für dein Betriebssystem auswählen.
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 |
Bücherwurm 32bit | Nein | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bücherwurm 64bit | Nein | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bücherwurm 32bit | Ja | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bücherwurm 64bit | Ja | libedgetpu1-max_ ... .bookworm_arm64.deb |
Lade die neueste Version von hier herunter.
Nachdem du die Datei heruntergeladen hast, kannst du sie mit dem folgenden Befehl installieren:
Nachdem du die Runtime installiert hast, musst du deinen Coral Edge TPU an einen USB 3.0-Anschluss deines Raspberry Pi anschließen. Das liegt daran, dass laut der offiziellen Anleitung eine neue udev
Regel muss nach der Installation in Kraft treten.
Wichtig
Wenn du die Coral Edge TPU Runtime bereits installiert hast, deinstalliere sie mit dem folgenden Befehl.
Exportiere dein Modell in ein Edge TPU kompatibles Modell
Um den Edge TPU zu verwenden, musst du dein Modell in ein kompatibles Format konvertieren. Es wird empfohlen, den Export auf einem Google Colab, einem x86_64 Linux-Rechner, mit dem offiziellen Ultralytics Docker-Container oder mit Ultralytics HUB auszuführen, da der Edge TPU Compiler auf ARM nicht verfügbar ist. Siehe Exportmodus für die verfügbaren Argumente.
exportieren
Das exportierte Modell wird in der Datei <model_name>_saved_model/
Ordner mit dem Namen <model_name>_full_integer_quant_edgetpu.tflite
.
Ausführen des Modells
Nachdem du dein Modell exportiert hast, kannst du mit dem folgenden Code eine Inferenz durchführen:
Laufen
Umfassende Informationen findest du auf der Seite Vorhersage für alle Details zum Vorhersagemodus.
Wichtig
Du solltest das Modell mit tflite-runtime
und nicht tensorflow
.
Wenn tensorflow
installiert ist, deinstalliere tensorflow mit dem folgenden Befehl:
Dann installiere/aktualisiere tflite-runtime
:
Wenn du eine tflite-runtime
Rad für tensorflow
2.15.0 herunterladen von hier und installiere sie mit pip
oder den Paketmanager deiner Wahl.