Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLO11 🚀
Was ist eine Coral Edge TPU?
Der Coral Edge TPU ist ein kompaktes Gerät, das Ihr System um einen Edge TPU Coprozessor erweitert. Er ermöglicht stromsparende und leistungsstarke ML-Inferenz für TensorFlow Lite-Modelle. Lesen Sie mehr auf der Coral Edge TPU Homepage.
Beobachten: Wie man Inferenz auf dem Raspberry Pi mit Google Coral Edge ausführt TPU
Steigerung der Leistung des Raspberry Pi-Modells mit Coral Edge TPU
Viele Menschen möchten ihre Modelle auf einem eingebetteten oder mobilen Gerät wie einem Raspberry Pi ausführen, da diese Geräte sehr stromsparend sind und in vielen verschiedenen Anwendungen eingesetzt werden können. Die Inferenzleistung auf diesen Geräten ist jedoch in der Regel schlecht, selbst wenn 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 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. Darüber hinaus scheint Google das Coral-Projekt komplett aufgegeben zu haben, und es gab zwischen 2021 und 2024 keine Updates mehr. Diese Anleitung zeigt Ihnen, wie Sie den Edge TPU mit den neuesten Versionen der TensorFlow Lite-Laufzeitumgebung und einer aktualisierten Coral Edge TPU -Laufzeitumgebung auf einem Raspberry Pi Single Board Computer (SBC) zum Laufen bringen.
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-Beschleuniger
- Eine nicht-ARM-basierte Plattform zum Exportieren eines Ultralytics PyTorch Modells
Installations-Durchgang
In dieser Anleitung wird davon ausgegangen, dass Sie bereits ein funktionierendes Raspberry Pi-Betriebssystem haben und Folgendes installiert haben ultralytics
und alle Abhängigkeiten. Zum Erhalten ultralytics
installiert, besuchen Sie die Schnellstart-Anleitung einrichten, bevor Sie hier fortfahren.
Installieren der Edge TPU Laufzeitumgebung
Zuerst müssen wir die Edge TPU Laufzeitumgebung installieren. Es gibt viele verschiedene Versionen, daher müssen Sie die richtige Version für Ihr Betriebssystem auswählen.
Raspberry Pi OS | Hochfrequenz-Modus | Version zum Herunterladen |
---|---|---|
Volltreffer 32bit | Nein | libedgetpu1-std_ ... .bullseye_armhf.deb |
Volltreffer 64bit | Nein | libedgetpu1-std_ ... .bullseye_arm64.deb |
Volltreffer 32bit | Ja | libedgetpu1-max_ ... .bullseye_armhf.deb |
Volltreffer 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 |
Laden Sie die neueste Version von hier herunter.
Nachdem Sie die Datei heruntergeladen haben, können Sie sie mit dem folgenden Befehl installieren:
Nach der Installation der Laufzeitumgebung müssen Sie Ihren Coral Edge TPU an einen USB 3.0-Port Ihres Raspberry Pi anschließen. Dies liegt daran, dass laut der offiziellen Anleitung eine neue udev
Regel nach der Installation in Kraft treten muss.
Wichtig
Wenn Sie die Coral Edge TPU Runtime bereits installiert haben, deinstallieren Sie sie mit dem folgenden Befehl.
Exportieren Sie Ihr Modell in ein Edge TPU kompatibles Modell
Um den Edge TPU zu verwenden, müssen Sie Ihr 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 des Modells
Das exportierte Modell wird in der Datei <model_name>_saved_model/
Ordner mit dem Namen <model_name>_full_integer_quant_edgetpu.tflite
. Es ist wichtig, dass Ihr Modell mit dem Suffix _edgetpu.tflite
, sonst weiß ultralytics nicht, dass Sie ein Edge TPU Modell verwenden.
Ausführung des Modells
Bevor Sie das Modell tatsächlich ausführen können, müssen Sie die richtigen Bibliotheken installieren.
Wenn tensorflow
installiert ist, deinstallieren Sie tensorflow mit dem folgenden Befehl:
Dann installieren/aktualisieren Sie tflite-runtime
:
Jetzt können Sie die Inferenz mit folgendem Code ausführen:
Ausführung des Modells
Umfassende Informationen finden Sie auf der Seite Vorhersage für alle Details zum Vorhersagemodus.
Inferenz mit mehreren Edge TPUs
Wenn Sie mehrere Edge TPUs haben, können Sie 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 TPU
FAQ
Was ist ein Coral Edge TPU und wie verbessert es die Leistung des Raspberry Pi mit Ultralytics YOLO11 ?
Der Coral Edge TPU ist ein kompaktes Gerät, mit dem Sie Ihr System um einen Edge TPU Coprozessor erweitern können. Dieser Coprozessor ermöglicht eine stromsparende und leistungsstarke Inferenz für maschinelles Lernen, die insbesondere für TensorFlow Lite-Modelle optimiert ist. Bei Verwendung eines Raspberry Pi beschleunigt der Edge TPU die Inferenz von ML-Modellen und steigert die Leistung erheblich, insbesondere für Ultralytics YOLO11 Modelle. Weitere Informationen über den Coral Edge TPU finden Sie auf der Homepage des Unternehmens.
Wie installiere ich die Coral Edge TPU Laufzeitumgebung auf einem Raspberry Pi?
Um die Coral Edge TPU Laufzeitumgebung auf Ihrem Raspberry Pi zu installieren, laden Sie die entsprechende .deb
Paket für Ihre Raspberry Pi OS Version von dieser Link. Verwenden Sie nach dem Herunterladen den folgenden Befehl, um es zu installieren:
Stellen Sie sicher, dass Sie alle früheren Coral Edge TPU Runtime-Versionen deinstallieren, indem Sie die Schritte im Abschnitt "Installationsanleitung" ausführen.
Kann ich mein Ultralytics YOLO11 Modell exportieren, damit es mit Coral Edge TPU kompatibel ist?
Ja, Sie können Ihr Ultralytics YOLO11 Modell exportieren, damit es mit 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. Sie können auch Ultralytics HUB zum Exportieren verwenden. Hier sehen Sie, wie Sie Ihr Modell mit Python und CLI exportieren können:
Exportieren des Modells
Weitere Informationen finden Sie 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 Sie TensorFlow auf Ihrem Raspberry Pi installiert haben und zu tflite-runtime
müssen Sie zunächst TensorFlow deinstallieren:
Installieren oder aktualisieren Sie dann tflite-runtime
mit dem folgenden Befehl:
Für ein bestimmtes Rad, z. B. TensorFlow 2.15.0 tflite-runtime
können Sie es herunterladen unter dieser Link und installieren Sie es mit pip
. Detaillierte Anweisungen finden Sie im Abschnitt über die Ausführung des Modells Ausführen des Modells.
Wie führe ich Inferenz mit einem exportierten YOLO11 Modell auf einem Raspberry Pi unter Verwendung des Coral Edge TPU durch?
Nachdem Sie Ihr YOLO11 Modell in ein mit Edge TPU kompatibles Format exportiert haben, können Sie die Inferenz mit Hilfe der folgenden Codeschnipsel durchführen:
Ausführung des Modells
Umfassende Details zu allen Funktionen des Vorhersagemodus finden Sie auf der Seite Vorhersage.