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