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, wurde im Mai 2017 von Google als Teil des TensorFlow Frameworks vorgestellt und ist ein Open-Source-Framework fĂŒr Deep Learning, das fĂŒr On-Device Inferenzen, 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 ansehen YOLOv8 Modelle in das TFLite-Format umwandeln, lassen Sie uns 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 den Plattformen Android und iOS 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, die leicht nachvollziehbare Schritte zum Einrichten und AusfĂŒhren von Machine Learning-Modellen enthĂ€lt.

  • iOS: In diesem ausfĂŒhrlichen Leitfaden fĂŒr Entwickler/innen findest du Schritt-fĂŒr-Schritt-Anleitungen und Ressourcen fĂŒr die Integration und den 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 Informationen zur Verwendung finden Sie in der offiziellen TFLite-Dokumentation.

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.

FAQ

Wie exportiere ich ein YOLOv8 Modell in das TFLite-Format?

Um ein Modell von YOLOv8 in das TFLite-Format zu exportieren, kannst du die Bibliothek Ultralytics verwenden. Installiere zunÀchst das benötigte Paket mit:

pip install ultralytics

Verwende dann den folgenden Codeschnipsel, um dein Modell zu exportieren:

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'

FĂŒr CLI Benutzer kannst du dies mit erreichen:

yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

Weitere Informationen findest du im Ultralytics Exportleitfaden.

Welche Vorteile bietet die Verwendung von TensorFlow Lite fĂŒr den Einsatz von YOLOv8 Modellen?

TensorFlow Lite (TFLite) ist ein Open-Source-Framework fĂŒr Deep Learning, das fĂŒr Inferenzen auf dem GerĂ€t entwickelt wurde und sich daher ideal fĂŒr den Einsatz von YOLOv8 Modellen auf mobilen, eingebetteten und IoT-GerĂ€ten eignet. Die wichtigsten Vorteile sind:

  • Optimierung auf dem GerĂ€t: Minimiere die Latenzzeit und verbessere den Datenschutz, indem du die Daten lokal verarbeitest.
  • PlattformkompatibilitĂ€t: UnterstĂŒtzt Android, iOS, embedded Linux, und MCU.
  • Leistung: Nutzt die Hardware-Beschleunigung, um die Geschwindigkeit und Effizienz des Modells zu optimieren.

Um mehr zu erfahren, schau dir den TFLite-Leitfaden an.

Ist es möglich, YOLOv8 TFLite-Modelle auf dem Raspberry Pi laufen zu lassen?

Ja, du kannst YOLOv8 TFLite-Modelle auf dem Raspberry Pi ausfĂŒhren, um die Inferenzgeschwindigkeit zu erhöhen. Exportiere dein Modell zunĂ€chst in das TFLite-Format, wie hier erklĂ€rt. Verwende dann ein Tool wie TensorFlow Lite Interpreter, um das Modell auf deinem Raspberry Pi auszufĂŒhren.

FĂŒr weitere Optimierungen könntest du Coral Edge TPU verwenden. Detaillierte Schritte findest du in unserem Raspberry Pi Deployment Guide.

Kann ich TFLite-Modelle auf Mikrocontrollern fĂŒr YOLOv8 Vorhersagen verwenden?

Ja, TFLite unterstĂŒtzt den Einsatz auf Mikrocontrollern mit begrenzten Ressourcen. Die Kernlaufzeit von TFLite benötigt nur 16 KB Speicher auf einem Arm Cortex M3 und kann einfache YOLOv8 Modelle ausfĂŒhren. Damit eignet es sich fĂŒr den Einsatz auf GerĂ€ten mit geringer Rechenleistung und wenig Speicher.

Um loszulegen, besuche den TFLite Micro for Microcontrollers Leitfaden.

Welche Plattformen sind mit den von TFLite exportierten YOLOv8 Modellen kompatibel?

TensorFlow Lite bietet umfassende PlattformkompatibilitÀt, so dass du die Modelle von YOLOv8 auf einer Vielzahl von GerÀten einsetzen kannst, z. B:

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

Weitere Informationen zu den Einsatzmöglichkeiten findest du in unserem detaillierten Einsatzleitfaden.

Wie behebe ich hÀufige Probleme beim YOLOv8 Modellexport nach TFLite?

Wenn du beim Exportieren von YOLOv8 Modellen nach TFLite auf Fehler stĂ¶ĂŸt, gibt es verschiedene Lösungen:

  • ÜberprĂŒfe die KompatibilitĂ€t der Pakete: Stelle sicher, dass du kompatible Versionen von Ultralytics und TensorFlow verwendest. Schau in unserer Installationsanleitung nach.
  • ModellunterstĂŒtzung: ÜberprĂŒfe, ob das spezifische Modell YOLOv8 den TFLite-Export unterstĂŒtzt, indem du hier nachschaust.

Weitere Tipps zur Fehlerbehebung findest du in unserem Leitfaden fĂŒr hĂ€ufige Probleme.



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

Kommentare