Zum Inhalt springen

Ein Leitfaden zum YOLOv8 Modellexport nach TFLite für den Einsatz

TFLite Logo

Der Einsatz von Computer Vision Modellen auf Edge Devices oder Embedded Devices erfordert ein Format, das eine nahtlose Leistung gewährleistet.

Das TensorFlow Lite oder TFLite Exportformat ermöglicht es dir, deine Ultralytics YOLOv8 Modelle für Aufgaben wie Objekterkennung und Bildklassifizierung in Edge-Device-basierten Anwendungen optimieren. In diesem Leitfaden zeigen wir dir, wie du deine Modelle in das TFLite-Format konvertierst, damit sie auf verschiedenen Edge Devices gut funktionieren.

Warum solltest du zu TFLite exportieren?

TensorFlow Lite, kurz TFLite, ist ein Open-Source-Framework für Deep Learning, das Google im Mai 2017 als Teil seines TensorFlow Frameworks vorgestellt hat und das für die Inferenz auf Geräten, auch bekannt als Edge Computing, entwickelt wurde. Es gibt Entwicklern die nötigen Werkzeuge an die Hand, um ihre trainierten Modelle auf mobilen, eingebetteten 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 MCU. Wenn du dein Modell nach TFLite exportierst, werden deine Anwendungen schneller und zuverlässiger und können auch offline ausgeführt werden.

Die wichtigsten Merkmale der TFLite-Modelle

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

  • On-Device-Optimierung: TFLite optimiert für die geräteinterne ML, indem es die Latenzzeit durch die lokale Verarbeitung von Daten reduziert, die Privatsphäre durch die Nicht-Übertragung persönlicher Daten verbessert und die Modellgröße minimiert, um Platz zu sparen.

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

  • Vielfältige Sprachunterstützung: TFLite ist mit verschiedenen Programmiersprachen kompatibel, darunter Java, Swift, Objective-C, C++ und Python.

  • Hohe Leistung: Erzielt eine überragende Leistung durch Hardware-Beschleunigung und Modelloptimierung.

Bereitstellungsoptionen in TFLite

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

TFLite bietet verschiedene Optionen für den Einsatz von Machine-Learning-Modellen auf dem Gerät, darunter:

  • Einsatz mit Android und iOS: Sowohl Android- als auch iOS-Anwendungen mit TFLite können kantenbasierte Kamerafeeds 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 folgende Architekturdiagramm zeigt, wie ein trainiertes Modell mit TensorFlow Lite auf Android- und iOS-Plattformen eingesetzt wird.

Architektur

  • Implementieren mit Embedded Linux: Wenn die Durchführung von Schlussfolgerungen auf einem Raspberry Pi mit dem Ultralytics Guide nicht den Geschwindigkeitsanforderungen für deinen Anwendungsfall entspricht, kannst du ein exportiertes TFLite-Modell verwenden, um die Schlussfolgerungszeiten zu beschleunigen. Außerdem ist es möglich, die Leistung durch den Einsatz eines Coral Edge TPU Geräts weiter zu verbessern.

  • Einsatz mit Mikrocontrollern: TFLite-Modelle können auch auf Mikrocontrollern und anderen Geräten mit nur wenigen Kilobytes Speicher eingesetzt werden. Der Runtime-Kern braucht nur 16 KB auf einem Arm Cortex M3 und kann viele einfache Modelle ausführen. Sie benötigt keine Betriebssystemunterstützung, keine standardmäßigen C- oder C++-Bibliotheken und keine dynamische Speicherzuweisung.

Exportieren nach TFLite: Konvertiere dein YOLOv8 Modell

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

Installation

Um die benötigten Pakete zu installieren, führe sie aus:

Installation

# Install the required package for YOLOv8
pip install ultralytics

Ausführliche Anweisungen und bewährte Verfahren für den Installationsprozess findest du in unserem Ultralytics Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Verwendung

Bevor du dich mit den Nutzungshinweisen beschäftigst, solltest du wissen, dass alle Modelle vonUltralytics YOLOv8 exportiert werden können. Hier kannst du sicherstellen, dass das von dir ausgewählte Modell die Exportfunktion unterstützt.

Verwendung

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

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

# Load the exported TFLite model
tflite_model = YOLO('yolov8n_float32.tflite')

# Run inference
results = tflite_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

# Run inference with the exported model
yolo predict model='yolov8n_float32.tflite' source='https://ultralytics.com/images/bus.jpg'

Weitere Informationen über den Exportprozess findest du auf der Dokumentationsseite zum Export unterUltralytics .

Einsatz von exportierten YOLOv8 TFLite-Modellen

Nachdem du deine Ultralytics YOLOv8 Modelle erfolgreich in das TFLite-Format exportiert hast, kannst du sie nun einsetzen. Der erste und empfohlene Schritt, um ein TFLite-Modell auszuführen, ist die Methode YOLO("model.tflite"), wie im vorherigen Codeausschnitt beschrieben. Ausführliche Anleitungen für den Einsatz deiner TFLite-Modelle in verschiedenen anderen Situationen findest du in den folgenden Ressourcen:

  • Android: Eine Schnellstartanleitung für die Integration von TensorFlow Lite in Android-Anwendungen mit leicht nachvollziehbaren Schritten zum Einrichten und Ausführen von Machine Learning-Modellen.

  • iOS: In diesem ausführlichen Leitfaden für Entwickler/innen findest du Schritt-für-Schritt-Anleitungen und Ressourcen zur Integration und zum Einsatz von TensorFlow Lite-Modellen in iOS-Anwendungen.

  • End-To-End Beispiele: Auf dieser Seite findest du eine Übersicht über verschiedene TensorFlow Lite-Beispiele, die praktische Anwendungen und Tutorials zeigen, die Entwicklern helfen sollen, TensorFlow Lite in ihre Machine-Learning-Projekte auf mobilen und Edge-Geräten zu implementieren.

Zusammenfassung

In diesem Leitfaden haben wir uns auf den Export ins TFLite-Format konzentriert. Durch die Konvertierung deiner Ultralytics YOLOv8 Modelle in das TFLite-Modellformat kannst du die Effizienz und Geschwindigkeit der YOLOv8 Modelle verbessern und sie effektiver und für Edge-Computing-Umgebungen geeignet machen.

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

Wenn du dich für andere Ultralytics YOLOv8 Integrationen interessierst, solltest du dir unseren Integrationsleitfaden ansehen. Dort findest du jede Menge hilfreicher Informationen und Einblicke, die auf dich warten.



Erstellt am 2024-03-01, Aktualisiert am 2024-03-03
Autoren: glenn-jocher (1), abirami-vina (1)

Kommentare