Zum Inhalt springen

Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLOv8 🚀

Raspberry Pi Einplatinencomputer mit USB Edge TPU Beschleuniger

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

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:

sudo dpkg -i path/to/package.deb

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.

# If you installed the standard version
sudo apt remove libedgetpu1-std 

# If you installed the high frequency version
sudo apt remove libedgetpu1-max 

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

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')
yolo export model=path/to/model.pt format=edgetpu  # Export an official model or custom model

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

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")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png  # Load an official model or custom model

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:

pip uninstall tensorflow tensorflow-aarch64

Dann installiere/aktualisiere tflite-runtime:

pip install -U 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.



Erstellt 2024-02-12, Aktualisiert 2024-04-27
Autoren: glenn-jocher (3), Skillnoob (1)

Kommentare