Meet YOLO26: next-gen vision AI.

Link to this sectionEin Leitfaden zum Export von YOLO26-Modellen nach TFLite für die Bereitstellung#

TensorFlow Lite edge deployment framework

Die Bereitstellung von Computer Vision-Modellen auf Edge-Geräten oder eingebetteten Systemen erfordert ein Format, das eine reibungslose Leistung gewährleistet.

Das TensorFlow Lite- oder TFLite-Exportformat ermöglicht es dir, deine Ultralytics YOLO26-Modelle für Aufgaben wie Objekterkennung und Bildklassifizierung in Anwendungen auf Edge-Geräten zu optimieren. In diesem Leitfaden gehen wir die Schritte zur Konvertierung deiner Modelle in das TFLite-Format durch, damit diese auf verschiedenen Edge-Geräten besser funktionieren.

Link to this sectionWarum solltest du nach TFLite exportieren?#

Das im Mai 2017 von Google als Teil ihres TensorFlow-Frameworks eingeführte TensorFlow Lite, kurz TFLite, ist ein Open-Source-Framework für Deep Learning, das für die Inferenz auf Geräten, auch bekannt als Edge Computing, entwickelt wurde. Es bietet Entwicklern die notwendigen Werkzeuge, um ihre trainierten Modelle auf Mobil-, Embedded- und IoT-Geräten sowie auf herkömmlichen Computern auszuführen.

TensorFlow Lite ist mit einer Vielzahl von Plattformen kompatibel, darunter Embedded Linux, Android, iOS und Mikrocontroller (MCUs). Durch den Export deines Modells nach TFLite werden deine Anwendungen schneller, zuverlässiger und offline-fähig.

Link to this sectionHauptfunktionen von TFLite-Modellen#

TFLite-Modelle bieten eine breite Palette an Funktionen, die maschinelles Lernen auf Geräten ermöglichen, indem sie Entwicklern helfen, ihre Modelle auf Mobil-, Embedded- und Edge-Geräten auszuführen:

  • On-Device-Optimierung: TFLite optimiert für ML auf dem Gerät, reduziert die Latenz durch lokale Datenverarbeitung, verbessert die Privatsphäre, da keine persönlichen Daten übertragen werden, und minimiert die Modellgröße, um Speicherplatz zu sparen.

  • Unterstützung mehrerer Plattformen: TFLite bietet umfangreiche Plattformkompatibilität und unterstützt Android, iOS, Embedded Linux und Mikrocontroller.

  • Unterstützung verschiedener Sprachen: TFLite ist mit verschiedenen Programmiersprachen kompatibel, darunter Java, Swift, Objective-C, C++ und Python.

  • Hohe Leistung: Erzielt überlegene Leistung durch Hardwarebeschleunigung und Modelloptimierung.

Link to this sectionBereitstellungsoptionen in TFLite#

Bevor wir uns den Code für den Export von YOLO26-Modellen in das TFLite-Format ansehen, wollen wir verstehen, wie TFLite-Modelle normalerweise verwendet werden.

TFLite bietet verschiedene On-Device-Bereitstellungsoptionen für Modelle des maschinellen Lernens, darunter:

  • Bereitstellung mit Android und iOS: Android- und iOS-Anwendungen mit TFLite können Edge-basierte Kameradaten und Sensoren analysieren, um Objekte zu erkennen und zu identifizieren. TFLite bietet auch native iOS-Bibliotheken, die in Swift und Objective-C geschrieben sind. Das Architekturdiagramm unten zeigt den Prozess der Bereitstellung eines trainierten Modells auf Android- und iOS-Plattformen mit TensorFlow Lite.

TensorFlow Lite deployment architecture for mobile

  • Implementierung mit Embedded Linux: Wenn die Ausführung von Inferenzen auf einem Raspberry Pi unter Verwendung des Ultralytics-Leitfadens nicht die Geschwindigkeitsanforderungen für deinen Anwendungsfall erfüllt, kannst du ein exportiertes TFLite-Modell verwenden, um die Inferenzzeiten zu beschleunigen. Zusätzlich ist es möglich, die Leistung durch die Nutzung eines Coral Edge TPU-Geräts weiter zu verbessern.

  • Bereitstellung mit Mikrocontrollern: TFLite-Modelle können auch auf Mikrocontrollern und anderen Geräten mit nur wenigen Kilobyte Speicher bereitgestellt werden. Die Kern-Runtime passt in nur 16 KB auf einem Arm Cortex M3 und kann viele grundlegende Modelle ausführen. Sie erfordert keine Betriebssystemunterstützung, keine Standard-C- oder C++-Bibliotheken und keine dynamische Speicherzuweisung.

Link to this sectionExport nach TFLite: Konvertierung deines YOLO26-Modells#

Du kannst die Effizienz der Modellausführung auf dem Gerät verbessern und die Leistung optimieren, indem du deine Modelle in das TFLite-Format konvertierst.

Link to this sectionInstallation#

Um die erforderlichen Pakete zu installieren, führe aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Detaillierte Anweisungen und Best Practices für den Installationsprozess findest du in unserem Ultralytics-Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stößt, schau in unserem Leitfaden zu häufigen Problemen nach Lösungen und Tipps.

Link to this sectionVerwendung#

Alle Ultralytics YOLO26 models sind so konzipiert, dass sie den Export sofort unterstützen, was die Integration in deinen bevorzugten Bereitstellungs-Workflow vereinfacht. Du kannst die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen einsehen, um das beste Setup für deine Anwendung zu wählen.

Das TFLite-Format unterstützt die Modi Exportieren, Vorhersagen und Validieren. Exportiere dein Modell und lade es dann, um eine Inferenz auszuführen oder dessen Genauigkeit zu validieren.

Exportieren
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'
Vorhersagen
from ultralytics import YOLO

# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validieren
from ultralytics import YOLO

# Load the exported TFLite model
model = YOLO("yolo26n_float32.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionExport-Argumente#

ArgumentTypStandardBeschreibung
formatstr'tflite'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für spezifische Dimensionen sein.
halfboolFalseAktiviert die FP16-Quantisierung (Halbpräzision), was die Modellgröße reduziert und die Inferenz auf unterstützter Hardware potenziell beschleunigt.
int8boolFalseAktiviert die INT8-Quantisierung, komprimiert das Modell weiter und beschleunigt die Inferenz mit minimalem Genauigkeitsverlust, primär für Edge-Geräte.
nmsboolFalseFügt Non-Maximum Suppression (NMS) hinzu, was für eine genaue und effiziente Detektions-Nachbearbeitung unerlässlich ist.
batchint1Gibt die Batch-Größe für die Modellausführung oder die maximale Anzahl an Bildern an, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet.
datastr'coco8.yaml'Pfad zur Dataset-Konfigurationsdatei (Standard: coco8.yaml), essenziell für die Quantisierung.
fractionfloat1.0Gibt den Teil des Datensatzes an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des vollständigen Datensatzes, nützlich für Experimente oder bei begrenzten Ressourcen. Wenn bei aktivierter INT8-Quantisierung nicht spezifiziert, wird der vollständige Datensatz verwendet.
devicestrNoneGibt das Gerät für den Export an: CPU (device=cpu), MPS für Apple Silicon (device=mps).

Weitere Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Exportieren.

Link to this sectionBereitstellung exportierter YOLO26 TFLite-Modelle#

Nachdem du deine Ultralytics YOLO26-Modelle erfolgreich in das TFLite-Format exportiert hast, kannst du sie nun bereitstellen. Der primäre und empfohlene erste Schritt zur Ausführung eines TFLite-Modells ist die Verwendung der Methode YOLO("model.tflite"), wie im vorherigen Code-Beispiel beschrieben. Für tiefergehende Anweisungen zur Bereitstellung deiner TFLite-Modelle in verschiedenen anderen Umgebungen wirf einen Blick auf die folgenden Ressourcen:

  • Android: Ein Schnellstartleitfaden für die Integration von TensorFlow Lite in Android-Anwendungen, der leicht verständliche Schritte für das Einrichten und Ausführen von Modellen des maschinellen Lernens bietet.

  • iOS: Sieh dir diesen detaillierten Leitfaden für Entwickler zur Integration und Bereitstellung von TensorFlow Lite-Modellen in iOS-Anwendungen an, der Schritt-für-Schritt-Anweisungen und Ressourcen bietet.

  • End-to-End-Beispiele: Diese Seite bietet einen Überblick über verschiedene TensorFlow Lite-Beispiele und zeigt praktische Anwendungen und Tutorials, die Entwicklern dabei helfen sollen, TensorFlow Lite in ihre Machine-Learning-Projekte auf Mobil- und Edge-Geräten zu implementieren.

Link to this sectionZusammenfassung#

In diesem Leitfaden haben wir uns darauf konzentriert, wie man in das TFLite-Format exportiert. Durch die Konvertierung deiner Ultralytics YOLO26-Modelle in das TFLite-Modellformat kannst du die Effizienz und Geschwindigkeit von YOLO26-Modellen verbessern, was sie effektiver und geeigneter für Edge-Computing-Umgebungen macht.

Weitere Details zur Nutzung findest du in der offiziellen TFLite-Dokumentation.

Wenn du neugierig auf weitere Ultralytics YOLO26-Integrationen bist, schau dir unsere Seite mit Integrationsleitfäden an. Dort findest du viele hilfreiche Informationen und Einblicke.

Link to this sectionFAQ#

Link to this sectionWie exportiere ich ein YOLO26-Modell in das TFLite-Format?#

Um ein YOLO26-Modell in das TFLite-Format zu exportieren, kannst du die Ultralytics-Bibliothek verwenden. Installiere zuerst das erforderliche Paket mit:

pip install ultralytics

Verwende dann das folgende Code-Snippet, um dein Modell zu exportieren:

from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolo26n_float32.tflite'

Für CLI-Benutzer kannst du dies erreichen mit:

yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_float32.tflite'

Für weitere Details besuche den Ultralytics-Exportleitfaden.

Link to this sectionWas sind die Vorteile der Verwendung von TensorFlow Lite für die YOLO26-Modellbereitstellung?#

TensorFlow Lite (TFLite) ist ein Open-Source-Deep Learning-Framework, das für die Inferenz auf dem Gerät entwickelt wurde und sich ideal für die Bereitstellung von YOLO26-Modellen auf Mobil-, Embedded- und IoT-Geräten eignet. Zu den wichtigsten Vorteilen gehören:

  • On-Device-Optimierung: Minimiere Latenz und verbessere die Privatsphäre durch lokale Datenverarbeitung.
  • Plattformkompatibilität: Unterstützt Android, iOS, Embedded Linux und MCU.
  • Leistung: Nutzt Hardwarebeschleunigung, um Modellgeschwindigkeit und -effizienz zu optimieren.

Um mehr zu erfahren, lies den TFLite-Leitfaden.

Link to this sectionIst es möglich, YOLO26 TFLite-Modelle auf dem Raspberry Pi auszuführen?#

Ja, du kannst YOLO26 TFLite-Modelle auf einem Raspberry Pi ausführen, um die Inferenzgeschwindigkeiten zu verbessern. Exportiere zuerst dein Modell wie oben erklärt in das TFLite-Format. Verwende dann ein Tool wie den TensorFlow Lite Interpreter, um das Modell auf deinem Raspberry Pi auszuführen.

Für weitere Optimierungen könntest du die Verwendung von Coral Edge TPU in Betracht ziehen. Detaillierte Schritte findest du in unserem Raspberry Pi-Bereitstellungsleitfaden und dem Edge TPU-Integrationsleitfaden.

Link to this sectionKann ich TFLite-Modelle auf Mikrocontrollern für YOLO26-Vorhersagen verwenden?#

Ja, TFLite unterstützt die Bereitstellung auf Mikrocontrollern mit begrenzten Ressourcen. Die Kern-Runtime von TFLite benötigt nur 16 KB Speicher auf einem Arm Cortex M3 und kann grundlegende YOLO26-Modelle ausführen. Dies macht es für den Einsatz auf Geräten mit minimaler Rechenleistung und minimalem Speicher geeignet.

Um loszulegen, besuche den TFLite Micro für Mikrocontroller-Leitfaden.

Link to this sectionWelche Plattformen sind mit TFLite-exportierten YOLO26-Modellen kompatibel?#

TensorFlow Lite bietet eine umfassende Plattformkompatibilität, die es dir ermöglicht, YOLO26-Modelle auf einer Vielzahl von Geräten bereitzustellen, darunter:

  • Android und iOS: Native Unterstützung durch TFLite Android- und iOS-Bibliotheken.
  • Embedded Linux: Ideal für Einplatinencomputer wie den Raspberry Pi.
  • Mikrocontroller: Geeignet für MCUs mit eingeschränkten Ressourcen.

Weitere Informationen zu Bereitstellungsoptionen findest du in unserem detaillierten Bereitstellungsleitfaden.

Link to this sectionWie behebe ich häufige Probleme beim Export von YOLO26-Modellen nach TFLite?#

Wenn bei der Konvertierung von YOLO26-Modellen in TFLite Fehler auftreten, gehören zu den gängigen Lösungen:

  • Paketkompatibilität prüfen: Stelle sicher, dass du kompatible Versionen von Ultralytics und TensorFlow verwendest. Siehe unseren Installationsleitfaden.
  • Modellunterstützung: Überprüfe, ob das spezifische YOLO26-Modell den TFLite-Export unterstützt, indem du auf der Dokumentationsseite zum Export von Ultralytics nachsiehst.
  • Quantisierungsprobleme: Wenn du INT8-Quantisierung verwendest, stelle sicher, dass dein Datensatzpfad im Parameter data korrekt angegeben ist.

Weitere Tipps zur Fehlerbehebung findest du in unserem Leitfaden zu häufigen Problemen.

Kommentare