Lerne, ein YOLO26-Modell in das TFLite-Edge-TPU-Format zu exportieren#
Die Bereitstellung von Computer-Vision-Modellen auf Geräten mit begrenzter Rechenleistung, etwa mobilen oder eingebetteten Systemen, kann knifflig sein. Die Verwendung eines für höhere Leistung optimierten Modellformats vereinfacht diesen Prozess. Das Modellformat TensorFlow Lite Edge TPU beziehungsweise das TFLite-Edge-TPU-Format wurde entwickelt, um bei neuronalen Netzen möglichst wenig Energie zu verbrauchen und gleichzeitig eine hohe Geschwindigkeit zu bieten.
Mit dem Export in das TFLite-Edge-TPU-Format kannst du deine Ultralytics-YOLO26-Modelle für schnelle Inferenz bei geringem Energieverbrauch optimieren. In diesem Leitfaden zeigen wir dir, wie du deine Modelle in das TFLite-Edge-TPU-Format konvertierst, damit sie auf verschiedenen mobilen und eingebetteten Geräten zuverlässig leistungsfähig arbeiten.
Warum solltest du in das TFLite-Edge-TPU-Format exportieren?#
Der Export von Modellen in das TensorFlow-Edge-TPU-Format macht Aufgaben des maschinellen Lernens schnell und effizient. Diese Technologie eignet sich für Anwendungen mit begrenzter Energieversorgung, Rechenleistung und Konnektivität. Die Edge TPU ist ein Hardwarebeschleuniger von Google. Sie beschleunigt TensorFlow-Lite-Modelle auf Edge-Geräten. Das Bild unten zeigt ein Beispiel für den damit verbundenen Ablauf.
Die Edge TPU arbeitet mit quantisierten Modellen. Durch Quantisierung werden Modelle kleiner und schneller, ohne viel Genauigkeit einzubüßen. Das ist ideal für die begrenzten Ressourcen des Edge Computing: Anwendungen können durch geringere Latenz und schnelle lokale Datenverarbeitung zügig reagieren, ohne von einer Cloud abhängig zu sein. Die lokale Verarbeitung schützt die Privatsphäre und Sicherheit der Nutzerdaten, da diese nicht an einen entfernten Server gesendet werden.
Wichtige Funktionen von TFLite Edge TPU#
Hier sind die wichtigsten Funktionen, die TFLite Edge TPU zu einer guten Wahl für Entwickler machen:
-
Optimierte Leistung auf Edge-Geräten: TFLite Edge TPU erzielt durch Quantisierung, Modelloptimierung, Hardwarebeschleunigung und Compileroptimierung eine hohe Geschwindigkeit bei neuronalen Netzen. Die minimalistische Architektur trägt zur geringeren Größe und Kosteneffizienz bei.
-
Hoher Rechendurchsatz: TFLite Edge TPU kombiniert spezialisierte Hardwarebeschleunigung mit effizienter Laufzeitausführung und erzielt dadurch einen hohen Rechendurchsatz. Das Format eignet sich besonders für die Bereitstellung von Modellen des maschinellen Lernens mit strengen Leistungsanforderungen auf Edge-Geräten.
-
Effiziente Matrixberechnungen: TensorFlow Edge TPU ist für Matrixoperationen optimiert, die für Berechnungen neuronaler Netze entscheidend sind. Diese Effizienz ist für Modelle des maschinellen Lernens besonders wichtig, vor allem für solche, die zahlreiche und komplexe Matrixmultiplikationen und -transformationen erfordern.
Bereitstellungsoptionen mit TFLite Edge TPU#
Bevor wir uns damit befassen, wie du YOLO26-Modelle in das TFLite-Edge-TPU-Format exportierst, sehen wir uns an, wo TFLite-Edge-TPU-Modelle üblicherweise eingesetzt werden.
TFLite Edge TPU bietet verschiedene Bereitstellungsoptionen für Modelle des maschinellen Lernens, darunter:
-
Bereitstellung auf dem Gerät: TensorFlow-Edge-TPU-Modelle können direkt auf mobilen und eingebetteten Geräten bereitgestellt werden. Bei der Bereitstellung auf dem Gerät werden die Modelle direkt auf der Hardware ausgeführt. Dadurch ist keine Cloud-Verbindung erforderlich – das Modell kann entweder in das Anwendungspaket eingebettet oder bei Bedarf heruntergeladen werden.
-
Hybride Bereitstellung: Ein hybrider Ansatz kombiniert die Bereitstellung auf dem Gerät und in der Cloud und bietet eine vielseitige und skalierbare Lösung für die Bereitstellung von Modellen des maschinellen Lernens. Zu den Vorteilen gehören die Verarbeitung auf dem Gerät für schnelle Antworten und Cloud Computing für komplexere Berechnungen.
Unterstützte Aufgaben#
Der Edge-TPU-Export unterstützt sechs der sieben Ultralytics-Aufgaben. Die semantische Segmentierung ist nur mit YOLO26 verfügbar, der einzigen Familie, die diesen Kopf enthält. Die Tiefenschätzung wird nicht unterstützt, da das INT8-Modell dafür einen EXP-Operator der Version 2 ausgibt, den der Edge-TPU-Compiler nicht analysieren kann.
| Aufgabe | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Erkennen | ✅ | ✅ | ✅ |
| Segmentieren | ✅ | ✅ | ✅ |
| Semantisch | ❌ | ❌ | ✅ |
| Tiefe | ❌ | ❌ | ❌ |
| Klassifizieren | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Der Edge-TPU-Compiler ordnet die unterstützten Operationen dem Beschleuniger zu und führt die übrigen auf der CPU aus. Die Unterstützung einer Aufgabe bedeutet daher nicht, dass jede Operation auf der TPU ausgeführt wird.
YOLO26-Modelle in das TFLite-Edge-TPU-Format exportieren#
Du kannst die Modellkompatibilität und Flexibilität bei der Bereitstellung erhöhen, indem du YOLO26-Modelle in TensorFlow Edge TPU konvertierst.
Installation#
Führe zur Installation des erforderlichen Pakets folgenden Befehl aus:
# Install the required package for YOLO26
pip install ultralyticsAusführliche Anweisungen und bewährte Vorgehensweisen zur Installation findest du in unserem Installationsleitfaden von Ultralytics. Sollten bei der Installation der für YOLO26 erforderlichen Pakete Schwierigkeiten auftreten, findest du in unserem Leitfaden zu häufigen Problemen Lösungen und Tipps.
Verwendung#
Alle Ultralytics YOLO26-Modelle sind so konzipiert, dass sie standardmäßig den Export unterstützen, sodass du sie problemlos in deinen bevorzugten Bereitstellungsablauf integrieren kannst. Du kannst die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen anzeigen, um die beste Konfiguration für deine Anwendung auszuwählen.
Das TFLite-Edge-TPU-Format unterstützt die Modi Export, Predict und Validate. Inferenz und Validierung werden auf Coral-Edge-TPU-Hardware ausgeführt. Exportiere dein Modell und lade anschließend das exportierte Modell, um Inferenz auszuführen oder seine Genauigkeit zu validieren.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite'from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Exportargumente#
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
format | str | 'edgetpu' | Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen festlegt. |
imgsz | int oder tuple | 640 | Gewünschte Bildgröße für die Modelleingabe. Kann für quadratische Bilder eine Ganzzahl oder für bestimmte Abmessungen ein Tupel (height, width) sein. |
quantize | int oder str | 8/auto | Quantisierungspräzision. 8 (INT8) ist erforderlich und wird für Edge TPU automatisch aktiviert. Dadurch wird das Modell komprimiert und die Inferenz auf Edge-Geräten beschleunigt, bei minimalem Verlust an Genauigkeit. Ersetzt die veralteten Optionen half/int8. |
opset | int | None | Legt die ONNX-Operationssatzversion für den Zwischenstand des ONNX-Graphen fest. Wenn keine Angabe erfolgt, wird die neueste unterstützte Version verwendet. |
data | str | None | Pfad zur Dataset-YAML-Datei, die für die Quantisierung erforderlich ist; bei der Klassifizierung wird stattdessen ein Dataset-Verzeichnis oder der Name eines integrierten Datasets verwendet. Wenn quantize=8 nicht angegeben wird, wählt Ultralytics das Standard-Kalibrierungsdataset für die Modellaufgabe aus. |
fraction | float, int oder list | 1.0 | Kalibrierungs-Teilmenge als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse bzw. -Anzahlen. Bei Listen mit zwei Elementen bleibt test vollständig, während 0 übersprungen wird. |
device | str | None | Gibt das Gerät für den Export an: CPU (device=cpu). |
Stelle bitte sicher, dass du für den Export zu Edge TPU einen x86-Linux-Rechner verwendest.
Weitere Informationen zum Exportvorgang findest du auf der Ultralytics-Dokumentationsseite zum Export.
Exportierte YOLO26-TFLite-Edge-TPU-Modelle bereitstellen#
Nachdem du deine Ultralytics-YOLO26-Modelle erfolgreich in das TFLite-Edge-TPU-Format exportiert hast, kannst du sie bereitstellen. Der wichtigste und empfohlene erste Schritt zum Ausführen eines TFLite-Edge-TPU-Modells ist die Methode YOLO("model_edgetpu.tflite"), wie im vorherigen Codebeispiel zur Verwendung beschrieben.
Ausführliche Anweisungen zur Bereitstellung deiner TFLite-Edge-TPU-Modelle findest du in den folgenden Ressourcen:
-
Coral Edge TPU auf einem Raspberry Pi mit Ultralytics YOLO26: Erfahre, wie du Coral Edge TPUs mit Raspberry Pi integrierst, um die Fähigkeiten des maschinellen Lernens zu erweitern.
-
Codebeispiele: Greife auf praktische Beispiele für die Bereitstellung mit TensorFlow Edge TPU zu, um deine Projekte zu starten.
-
Inferenz auf der Edge TPU mit Python ausführen: Erfahre, wie du die TensorFlow-Lite-Python-API für Edge-TPU-Anwendungen verwendest, einschließlich Anleitungen zur Einrichtung und Nutzung.
Zusammenfassung#
In diesem Leitfaden haben wir gelernt, wie du Ultralytics-YOLO26-Modelle in das TFLite-Edge-TPU-Format exportierst. Wenn du die oben genannten Schritte befolgst, kannst du die Geschwindigkeit und Energieeffizienz deiner Computer-Vision-Anwendungen steigern.
Weitere Details zur Verwendung findest du auf der offiziellen Website von Coral Edge TPU.
Weitere Informationen zu anderen Ultralytics-YOLO26-Integrationen findest du auf unserer Seite mit Integrationsleitfäden. Dort findest du wertvolle Ressourcen und Informationen.
FAQ#
Um ein YOLO26-Modell in das TFLite-Edge-TPU-Format zu exportieren, kannst du die folgenden Schritte ausführen:
Verwendungfrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TFLite Edge TPU format model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite' # Load the exported TFLite Edge TPU model edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite") # Run inference results = edgetpu_model("https://ultralytics.com/images/bus.jpg")Ausführliche Informationen zum Export von Modellen in andere Formate findest du in unserem Exportleitfaden.
Der Export von YOLO26-Modellen in das TFLite-Edge-TPU-Format bietet mehrere Vorteile:
- Optimierte Leistung: Erzielt eine hohe Geschwindigkeit bei neuronalen Netzen und verbraucht dabei nur wenig Energie.
- Geringere Latenz: Schnelle lokale Datenverarbeitung ohne Abhängigkeit von der Cloud.
- Mehr Privatsphäre: Die lokale Verarbeitung schützt die Privatsphäre und Sicherheit der Nutzerdaten.
Dadurch eignet sich das Format ideal für Anwendungen im Edge Computing, bei denen Geräte nur über begrenzte Energie und Rechenressourcen verfügen. Erfahre mehr darüber, warum du exportieren solltest.
Ja, TensorFlow-Lite-Edge-TPU-Modelle können direkt auf mobilen und eingebetteten Geräten bereitgestellt werden. Bei diesem Ansatz werden die Modelle direkt auf der Hardware ausgeführt, wodurch die Inferenz schneller und effizienter wird. Integrationsbeispiele findest du in unserem Leitfaden zur Bereitstellung von Coral Edge TPU auf Raspberry Pi.
Zu den typischen Anwendungsfällen für TFLite-Edge-TPU-Modelle gehören:
- Intelligente Kameras: Verbesserung der Bild- und Videoanalyse in Echtzeit.
- IoT-Geräte: Ermöglichung intelligenter Haus- und Industrieautomatisierung.
- Gesundheitswesen: Beschleunigung der medizinischen Bildgebung und Diagnostik.
- Einzelhandel: Verbesserung der Bestandsverwaltung und Analyse des Kundenverhaltens.
Diese Anwendungen profitieren von der hohen Leistung und dem geringen Energieverbrauch von TFLite-Edge-TPU-Modellen. Erfahre mehr über Anwendungsszenarien.
Wenn beim Export oder bei der Bereitstellung von TFLite-Edge-TPU-Modellen Probleme auftreten, findest du in unserem Leitfaden Häufige Probleme Tipps zur Fehlerbehebung. Dieser Leitfaden behandelt häufige Probleme und Lösungen, damit du einen reibungslosen Betrieb sicherstellen kannst. Weitere Unterstützung erhältst du in unserem Help Center.