Zum Inhalt springen

Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLO11 🚀

Raspberry Pi Einplatinencomputer mit USB Edge TPU Beschleuniger

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

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:

sudo dpkg -i path/to/package.deb

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.

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

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

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

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. 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:

pip uninstall tensorflow tensorflow-aarch64

Dann installieren/aktualisieren Sie tflite-runtime:

pip install -U tflite-runtime

Jetzt können Sie die Inferenz mit folgendem Code ausführen:

Ausführung des Modells

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

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:

sudo dpkg -i path/to/package.deb

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

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

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-runtimemüssen Sie zunächst TensorFlow deinstallieren:

pip uninstall tensorflow tensorflow-aarch64

Installieren oder aktualisieren Sie dann tflite-runtime mit dem folgenden Befehl:

pip install -U tflite-runtime

Für ein bestimmtes Rad, z. B. TensorFlow 2.15.0 tflite-runtimekö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

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 Details zu allen Funktionen des Vorhersagemodus finden Sie auf der Seite Vorhersage.

📅 Erstellt vor 9 Monaten ✏️ Aktualisiert vor 1 Monat

Kommentare