Zum Inhalt springen

Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLO11 🚀

Raspberry Pi Single-Board-Computer mit USB Edge TPU-Beschleuniger

Was ist eine Coral Edge TPU?

Die Coral Edge TPU ist ein kompaktes Gerät, das Ihrem System einen Edge TPU-Coprozessor hinzufügt. Sie ermöglicht ML-Inferenz mit geringem Stromverbrauch und hoher Leistung für TensorFlow Lite-Modelle. Lesen Sie mehr auf der Coral Edge TPU-Homepage.



Ansehen: So führen Sie Inferenz auf Raspberry Pi mit Google Coral Edge TPU aus

Steigerung der Raspberry Pi Modell-Leistung mit Coral Edge TPU

Viele Leute möchten ihre Modelle auf einem eingebetteten oder mobilen Gerät wie einem Raspberry Pi ausführen, da diese sehr energieeffizient sind und in vielen verschiedenen Anwendungen eingesetzt werden können. Die Inferenzleistung auf diesen Geräten ist jedoch in der Regel schlecht, selbst bei Verwendung von Formaten wie ONNX oder OpenVINO. Die Coral Edge TPU ist eine großartige Lösung für dieses Problem, da sie mit einem Raspberry Pi verwendet werden kann und die Inferenzleistung erheblich beschleunigt.

Edge TPU auf Raspberry Pi mit TensorFlow Lite (Neu)⭐

Die vorhandene Anleitung von Coral zur Verwendung der 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 vollständig aufgegeben zu haben, und es gab zwischen 2021 und 2025 keine Updates mehr. Diese Anleitung zeigt Ihnen, wie Sie die 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 bringen.

Voraussetzungen

Installationsanleitung

Diese Anleitung setzt voraus, dass Sie bereits eine funktionierende Raspberry Pi OS-Installation haben und installiert haben ultralytics und alle Abhängigkeiten. Um ultralytics zu installieren, besuchen Sie die Schnellstartanleitung , um die Einrichtung vorzunehmen, bevor Sie hier fortfahren.

Installation der Edge TPU-Runtime

Zuerst müssen wir die Edge TPU-Runtime installieren. Es gibt viele verschiedene Versionen, daher müssen Sie die richtige Version für Ihr Betriebssystem auswählen. Die Hochfrequenzversion betreibt die Edge TPU mit einer höheren Taktrate, was die Leistung verbessert. Dies kann jedoch dazu führen, dass die Edge TPU thermisch gedrosselt wird. Es wird daher empfohlen, eine Art Kühlmechanismus zu installieren.

Raspberry Pi OS Hochfrequenzmodus Herunterzuladende Version
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
Bookworm 32bit Nein libedgetpu1-std_ ... .bookworm_armhf.deb
Bookworm 64bit Nein libedgetpu1-std_ ... .bookworm_arm64.deb
Bookworm 32bit Ja libedgetpu1-max_ ... .bookworm_armhf.deb
Bookworm 64bit Ja libedgetpu1-max_ ... .bookworm_arm64.deb

Laden Sie die neueste Version von hier herunter.

Nach dem Herunterladen der Datei können Sie diese mit dem folgenden Befehl installieren:

sudo dpkg -i path/to/package.deb

Nach der Installation der Runtime müssen Sie Ihre Coral Edge TPU an einen USB 3.0-Anschluss Ihres Raspberry Pi anschließen. Dies liegt daran, dass laut der offiziellen Anleitung eine neue udev Regel nach der Installation wirksam werden 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 zu Edge TPU

Um die Edge TPU zu verwenden, müssen Sie Ihr Modell in ein kompatibles Format konvertieren. Es wird empfohlen, den Export auf Google Colab, einer x86_64 Linux-Maschine, mit dem offiziellen Ultralytics Docker Container oder mit Ultralytics HUB auszuführen, da der Edge TPU-Compiler nicht auf ARM verfügbar ist. Weitere Informationen finden Sie im Exportmodus für die verfügbaren Argumente.

Modell 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 im <model_name>_saved_model/ Ordner unter dem Namen <model_name>_full_integer_quant_edgetpu.tflitegespeichert. Es ist wichtig, dass Ihr Modell mit dem Suffix _edgetpu.tflite, andernfalls weiß Ultralytics nicht, dass Sie ein Edge TPU-Modell verwenden.

Ausführen des Modells

beendet wird.

Wenn tensorflow Bevor Sie das Modell tatsächlich ausführen können, müssen Sie die korrekten Bibliotheken installieren.

pip uninstall tensorflow tensorflow-aarch64

installiert ist, deinstallieren Sie TensorFlow mit dem folgenden Befehl: tflite-runtime:

pip install -U tflite-runtime

Installieren/aktualisieren Sie dann

Ausführen 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

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

Umfassende Informationen finden Sie auf der Seite Vorhersagen für vollständige Details zum Vorhersagemodus.

Inferenz mit mehreren Edge TPUs

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

Benchmarks

Benchmarks

Getestet mit Raspberry Pi Os Bookworm 64-Bit und einem USB Coral Edge TPU.

Hinweis

Dargestellt ist die Inferenzzeit, Vor- / Nachbearbeitung ist nicht enthalten.

Bildgröße Modell Standard-Inferenzzeit (ms) Hohe Frequenz der Inferenzzeit (ms)
320 YOLOv8n 32.2 26.7
320 YOLOv8s 47.1 39.8
512 YOLOv8n 73.5 60.7
512 YOLOv8s 149.6 125.3
Bildgröße Modell Standard-Inferenzzeit (ms) Hohe Frequenz der Inferenzzeit (ms)
320 YOLOv8n 22.2 16.7
320 YOLOv8s 40.1 32.2
512 YOLOv8n 53.5 41.6
512 YOLOv8s 132.0 103.3

Im Durchschnitt:

  • Der Raspberry Pi 5 ist im Standardmodus 22 % schneller als der Raspberry Pi 4B.
  • Der Raspberry Pi 5 ist im Hochfrequenzmodus 30,2 % schneller als der Raspberry Pi 4B.
  • Der High-Frequency-Modus ist 28,4 % schneller als der Standardmodus.

FAQ

Was ist eine Coral Edge TPU und wie verbessert sie die Leistung von Raspberry Pi mit Ultralytics YOLO11?

Wenn Sie mehrere Edge TPUs haben, können Sie den folgenden Code verwenden, um eine bestimmte TPU auszuwählen.

Wie installiere ich die Coral Edge TPU-Runtime auf einem Raspberry Pi?

Die Coral Edge TPU ist ein kompaktes Gerät, das entwickelt wurde, um Ihrem System einen Edge TPU-Coprozessor hinzuzufügen. Dieser Coprozessor ermöglicht Machine-Learning-Inferenz mit geringem Stromverbrauch und hoher Leistung, die speziell für TensorFlow Lite-Modelle optimiert ist. Bei Verwendung eines Raspberry Pi beschleunigt die Edge TPU die ML-Modellinferenz und steigert die Leistung erheblich, insbesondere für Ultralytics YOLO11-Modelle. Sie können mehr über die Coral Edge TPU auf ihrer Homepage lesen. .deb Um die Coral Edge TPU-Runtime auf Ihrem Raspberry Pi zu installieren, laden Sie das entsprechende dieser Link. Nach dem Herunterladen installieren Sie es mit folgendem Befehl:

sudo dpkg -i path/to/package.deb

Stellen Sie sicher, dass Sie alle vorherigen Coral Edge TPU Runtime-Versionen deinstallieren, indem Sie die Schritte im Abschnitt Installationsanleitung befolgen.

Kann ich mein Ultralytics YOLO11-Modell so exportieren, dass es mit Coral Edge TPU kompatibel ist?

Ja, Sie können Ihr Ultralytics YOLO11-Modell so exportieren, dass es mit dem Coral Edge TPU kompatibel ist. Es wird empfohlen, den Export auf Google Colab, einer x86_64 Linux-Maschine oder mit dem Ultralytics Docker Container durchzuführen. Sie können auch Ultralytics HUB zum Exportieren verwenden. Hier erfahren Sie, wie Sie Ihr Modell mit Python und CLI exportieren können:

Modell 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

Weitere Informationen finden Sie in der Dokumentation zum Exportmodus.

Was soll 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-runtimewechseln müssen, müssen Sie TensorFlow zuerst mit folgendem Befehl deinstallieren:

pip uninstall tensorflow tensorflow-aarch64

Installieren oder aktualisieren Sie dann tflite-runtime mit folgendem Befehl:

pip install -U tflite-runtime

Detaillierte Anweisungen finden Sie im Abschnitt Modell ausführen.

Wie führe ich Inferenz mit einem exportierten YOLO11-Modell auf einem Raspberry Pi unter Verwendung der Coral Edge TPU aus?

Nachdem Sie Ihr YOLO11-Modell in ein Edge TPU-kompatibles Format exportiert haben, können Sie die Inferenz mit den folgenden Code-Snippets ausführen:

Ausführen 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 den Funktionen des vollständigen Vorhersagemodus finden Sie auf der Predict-Seite.



📅 Vor 1 Jahr erstellt ✏️ Vor 5 Monaten aktualisiert

Kommentare