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 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.
FAQ
Was ist ein Coral Edge TPU und wie verbessert es die Leistung des Raspberry Pi mit Ultralytics YOLOv8 ?
Der Coral Edge TPU ist ein kompaktes Gerät, mit dem du einen Edge TPU Coprozessor in dein System einbauen kannst. Dieser Koprozessor ermöglicht stromsparende und leistungsstarke Inferenzen für maschinelles Lernen, die insbesondere für TensorFlow Lite-Modelle optimiert sind. Wenn du einen Raspberry Pi verwendest, beschleunigt der Edge TPU die Inferenz von ML-Modellen und steigert die Leistung erheblich, insbesondere für Ultralytics YOLOv8 Modelle. Mehr über den Coral Edge TPU erfährst du auf der Homepage des Unternehmens.
Wie installiere ich die Coral Edge TPU Laufzeitumgebung auf einem Raspberry Pi?
Um die Coral Edge TPU Runtime auf deinem Raspberry Pi zu installieren, lade die entsprechende .deb
Paket für deine Raspberry Pi OS Version von dieser Link. Nach dem Download installierst du es mit folgendem Befehl:
Stelle sicher, dass du alle früheren Coral Edge TPU Runtime-Versionen deinstallierst, indem du die Schritte im Abschnitt Installationsanleitung befolgst.
Kann ich mein Ultralytics YOLOv8 Modell exportieren, damit es mit Coral Edge TPU kompatibel ist?
Ja, du kannst dein Ultralytics YOLOv8 Modell exportieren, damit es mit dem Coral Edge TPU kompatibel ist. Es wird empfohlen, den Export auf Google Colab, einem x86_64 Linux Rechner oder mit dem Ultralytics Docker Container durchzuführen. Du kannst auch Ultralytics HUB zum Exportieren verwenden. Hier siehst du, wie du dein Modell mit Python und CLI exportieren kannst:
exportieren
Weitere Informationen findest du in der Dokumentation zum Exportmodus.
Was muss 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
musst du zuerst TensorFlow deinstallieren:
Installiere oder aktualisiere dann tflite-runtime
mit dem folgenden Befehl:
Für ein bestimmtes Rad, z. B. TensorFlow 2.15.0 tflite-runtime
kannst du es herunterladen unter dieser Link und installiere sie mit pip
. Detaillierte Anweisungen findest du im Abschnitt über die Ausführung des Modells Ausführen des Modells.
Wie führe ich Inferenzen mit einem exportierten YOLOv8 Modell auf einem Raspberry Pi mit Coral Edge TPU durch?
Nachdem du dein YOLOv8 Modell in ein Edge TPU-kompatibles Format exportiert hast, kannst du die Inferenz mit den folgenden Codeschnipseln durchführen:
Laufen
Umfassende Details zu den Funktionen des Vorhersagemodus findest du auf der Seite Vorhersage.