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.



Created 2024-02-12, Updated 2024-06-10
Authors: glenn-jocher (6), Skillnoob (1)

Kommentare