Ultralytics YOLO27:
Get Started

Export eines YOLO26-Modells in das TFLite-Edge-TPU-Format#

Die Bereitstellung von Computer-Vision-Modellen auf Geräten mit begrenzter Rechenleistung, etwa Mobilgeräten oder eingebetteten Systemen, kann schwierig sein. Ein für höhere Geschwindigkeit optimiertes Modellformat vereinfacht diesen Prozess. Das TensorFlow Lite-Edge-TPU- oder TFLite-Edge-TPU-Modellformat wurde für einen möglichst geringen Energieverbrauch bei gleichzeitig schneller Ausführung neuronaler Netze entwickelt.

Mit dem Export in das TFLite-Edge-TPU-Format kannst du deine Ultralytics YOLO26-Modelle für schnelle Inferenz bei geringem Energieverbrauch optimieren. Diese Anleitung führt dich durch die Konvertierung deiner Modelle in das TFLite-Edge-TPU-Format, damit sie auf verschiedenen Mobilgeräten und eingebetteten Geräten zuverlässig ausgeführt werden können.

Warum solltest du in das TFLite-Edge-TPU-Format exportieren?#

Der Export von Modellen für TensorFlow Edge TPU macht Aufgaben des maschinellen Lernens schnell und effizient. Die Technologie eignet sich für Anwendungen mit begrenzter Energieversorgung, Rechenleistung und Konnektivität. Edge TPU ist ein Hardwarebeschleuniger von Google. Er beschleunigt TensorFlow-Lite-Modelle auf Edge-Geräten. Das Bild unten zeigt beispielhaft den Ablauf.

TensorFlow Lite Edge TPU compilation workflow

Edge TPU arbeitet mit quantisierten Modellen. Durch Quantisierung werden Modelle kleiner und schneller, ohne dass viel Genauigkeit verloren geht. Das ist ideal für die begrenzten Ressourcen beim Edge Computing: Anwendungen können durch geringere Latenz schnell reagieren und Daten lokal zügig verarbeiten, ohne auf die Cloud angewiesen zu sein. Die lokale Verarbeitung schützt außerdem die Privatsphäre und Sicherheit der Nutzerdaten, da diese nicht an einen entfernten Server gesendet werden.

Wichtige Merkmale von TFLite Edge TPU#

Hier sind die wichtigsten Merkmale, die TFLite Edge TPU zu einer ausgezeichneten Wahl des Modellformats für Entwickler machen:

  • Optimierte Leistung auf Edge-Geräten: TFLite Edge TPU erzielt eine hohe Verarbeitungsgeschwindigkeit bei neuronalen Netzen durch Quantisierung, Modelloptimierung, Hardwarebeschleunigung und Compileroptimierung. Die minimalistische Architektur trägt zu einer geringeren Größe und Kosteneffizienz bei.

  • Hoher Rechendurchsatz: TFLite Edge TPU kombiniert spezialisierte Hardwarebeschleunigung mit effizienter Laufzeitausführung und erreicht so einen hohen Rechendurchsatz. Die Lösung eignet sich gut für die Bereitstellung von Machine-Learning-Modellen mit strengen Leistungsanforderungen auf Edge-Geräten.

  • Effiziente Matrixberechnungen: Die TensorFlow Edge TPU ist für Matrixoperationen optimiert, die für Berechnungen in neuronalen Netzen entscheidend sind. Diese Effizienz ist bei Machine-Learning-Modellen besonders wichtig, vor allem bei Modellen, die zahlreiche komplexe Matrixmultiplikationen und -transformationen erfordern.

Bereitstellungsoptionen für TFLite Edge TPU#

Bevor wir uns ansehen, wie du YOLO26-Modelle in das TFLite-Edge-TPU-Format exportierst, schauen wir uns an, wofür TFLite-Edge-TPU-Modelle üblicherweise eingesetzt werden.

TFLite Edge TPU bietet verschiedene Bereitstellungsoptionen für Machine-Learning-Modelle, darunter:

  • Bereitstellung auf dem Gerät: TensorFlow-Edge-TPU-Modelle lassen sich direkt auf Mobil- und eingebetteten Geräten bereitstellen. Bei der Bereitstellung auf dem Gerät werden die Modelle direkt auf der Hardware ausgeführt, sodass keine Cloud-Verbindung erforderlich ist. Dazu wird das Modell entweder in das Anwendungspaket eingebettet oder bei Bedarf heruntergeladen.

  • Hybride Bereitstellung: Ein hybrider Ansatz kombiniert die Bereitstellung auf dem Gerät mit der Bereitstellung in der Cloud und bietet eine vielseitige, skalierbare Lösung für Machine-Learning-Modelle. Zu den Vorteilen gehören die Verarbeitung auf dem Gerät für schnelle Reaktionen und Cloud Computing für komplexere Berechnungen.

Unterstützte Aufgaben#

Der Export auf Edge TPU unterstützt sechs der sieben Ultralytics-Aufgaben. Die semantische Segmentierung ist nur mit YOLO26 verfügbar, der einzigen Modellfamilie mit diesem Kopf. Die Tiefenschätzung wird nicht unterstützt, da das INT8-Modell den Operator EXP v2 ausgibt, den der Edge-TPU-Compiler nicht analysieren kann.

AufgabeYOLOv8YOLO11YOLO26
Erkennung✅✅✅
Segmentierung✅✅✅
Semantik❌❌✅
Tiefe❌❌❌
Klassifizierung✅✅✅
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 also 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 Bereitstellungsflexibilität erweitern, indem du YOLO26-Modelle in TensorFlow Edge TPU umwandelst.

Installation#

Führe zum Installieren des erforderlichen Pakets Folgendes aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Ausführliche Anweisungen und bewährte Vorgehensweisen zur Installation findest du in unserer Installationsanleitung von Ultralytics. Falls bei der Installation der für YOLO26 erforderlichen Pakete Probleme auftreten, findest du Lösungen und Tipps in unserer Anleitung zu häufigen Problemen.

Verwendung#

Alle Ultralytics YOLO26-Modelle sind so ausgelegt, dass sie sofort exportiert werden können. Dadurch lassen sie sich problemlos in deinen bevorzugten Bereitstellungsablauf integrieren. In der vollständigen Liste der unterstützten Exportformate und Konfigurationsoptionen findest du die passende Konfiguration für deine Anwendung.

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.

Exportieren
from ultralytics import YOLO

# Ein YOLO26-Modell laden
model = YOLO("yolo26n.pt")

# Modell in das TFLite-Edge-TPU-Format exportieren
model.export(format="edgetpu")  # creates 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'
Vorhersagen
from ultralytics import YOLO

# Exportiertes TFLite-Edge-TPU-Modell laden
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# Inferenz ausführen
results = model("https://ultralytics.com/images/bus.jpg")
Validieren
from ultralytics import YOLO

# Exportiertes TFLite-Edge-TPU-Modell laden
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")

# Die Genauigkeit anhand des COCO8-Datensatzes validieren
metrics = model.val(data="coco8.yaml")

Exportargumente#

ArgumentTypStandardBeschreibung
formatstr'edgetpu'Zielformat des exportierten Modells, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen festlegt.
imgszint oder tuple640Gewünschte Bildgröße für die Modelleingabe. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein.
quantizeint oder str8/automatischQuantisierungsgenauigkeit. 8 (INT8) ist für Edge TPU erforderlich und wird automatisch aktiviert. Dadurch wird das Modell komprimiert und die Inferenz auf Edge-Geräten beschleunigt, bei minimalem Verlust an Genauigkeit. Ersetzt die veralteten Flags half/int8.
opsetintNoneLegt die ONNX-Operatorensatz-Version für den zwischengeschalteten ONNX-Graphen fest. Wenn nichts angegeben ist, wird die neueste unterstützte Version verwendet.
datastrNonePfad zur YAML-Datei des Datensatzes, die für die Quantisierung erforderlich ist; bei der Klassifizierung wird stattdessen ein Datensatzverzeichnis oder der Name eines integrierten Datensatzes verwendet. Wenn quantize=8 nicht angegeben ist, wählt Ultralytics den Standard-Kalibrierungsdatensatz für die jeweilige Modellaufgabe aus.
fractionfloat, int oder list1.0Kalibrierungsteilstichprobe als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse/-Anzahlen. Bei Listen mit zwei Elementen bleibt test vollständig erhalten, während 0 es überspringt.
devicestrNoneGibt das Gerät für den Export an: CPU (device=cpu).
Tipp

Achte darauf, für den Export auf Edge TPU einen x86-Linux-Rechner zu verwenden.

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 nun bereitstellen. Als ersten und empfohlenen Schritt zum Ausführen eines TFLite-Edge-TPU-Modells verwendest du die Methode YOLO("model_edgetpu.tflite"), wie im vorherigen Codebeispiel zur Verwendung gezeigt.

Ausführliche Anleitungen zur Bereitstellung deiner TFLite-Edge-TPU-Modelle findest du in den folgenden Ressourcen:

Zusammenfassung#

In dieser Anleitung haben wir gelernt, wie du Ultralytics-YOLO26-Modelle in das TFLite-Edge-TPU-Format exportierst. Mit den oben beschriebenen Schritten kannst du die Geschwindigkeit und Leistung deiner Computer-Vision-Anwendungen steigern.

Weitere Informationen zur Verwendung findest du auf der offiziellen Website von Coral Edge TPU.

Weitere Informationen zu anderen Ultralytics-YOLO26-Integrationen findest du auf unserer Integrationsübersichtsseite. Dort findest du wertvolle Ressourcen und Einblicke.

Häufig gestellte Fragen#

  • Führe zum Export eines YOLO26-Modells in das TFLite-Edge-TPU-Format die folgenden Schritte aus:

    Verwendung
    from ultralytics import YOLO
    
    # Ein YOLO26-Modell laden
    model = YOLO("yolo26n.pt")
    
    # Modell in das TFLite-Edge-TPU-Format exportieren
    model.export(format="edgetpu")  # creates 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'
    
    # Exportiertes TFLite-Edge-TPU-Modell laden
    edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
    
    # Inferenz ausführen
    results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

    Ausführliche Informationen zum Export von Modellen in andere Formate findest du in unserer Exportanleitung.

  • Der Export von YOLO26-Modellen in das TFLite-Edge-TPU-Format bietet mehrere Vorteile:

    • Optimierte Leistung: Erziele eine hohe Geschwindigkeit bei der Ausführung neuronaler Netze und verbrauche dabei nur wenig Energie.
    • Geringere Latenz: Verarbeite Daten lokal und schnell, ohne auf die Cloud angewiesen zu sein.
    • Mehr Datenschutz: Durch die lokale Verarbeitung bleiben Nutzerdaten privat und sicher.

    Das macht die Lösung ideal für Anwendungen im Bereich 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 lassen sich direkt auf Mobil- und eingebetteten Geräten bereitstellen. Bei diesem Ansatz werden die Modelle direkt auf der Hardware ausgeführt, was eine schnellere und effizientere Inferenz ermöglicht. Beispiele für die Integration findest du in unserer Anleitung zur Bereitstellung von Coral Edge TPU auf Raspberry Pi.

  • Zu den typischen Anwendungsfällen für TFLite-Edge-TPU-Modelle gehören:

    • Intelligente Kameras: Echtzeitanalyse von Bildern und Videos verbessern.
    • IoT-Geräte: Smart-Home- und Industrieautomatisierung ermöglichen.
    • Gesundheitswesen: Medizinische Bildgebung und Diagnostik beschleunigen.
    • Einzelhandel: Bestandsverwaltung und Analyse des Kundenverhaltens verbessern.

    Diese Anwendungen profitieren von der hohen Leistung und dem geringen Energieverbrauch der TFLite-Edge-TPU-Modelle. Entdecke weitere Anwendungsszenarien.

  • Wenn beim Export oder bei der Bereitstellung von TFLite-Edge-TPU-Modellen Probleme auftreten, findest du Tipps zur Fehlerbehebung in unserer Anleitung zu häufigen Problemen. Diese Anleitung behandelt typische Probleme und Lösungen, damit du einen reibungslosen Betrieb sicherstellen kannst. Weitere Unterstützung erhältst du in unserem Hilfe-Center.

Kommentare