Zum Inhalt springen

Ein Leitfaden zum YOLO11 Modellexport nach TFLite für die Bereitstellung

TFLite Logo

Für den Einsatz von Computer-Vision-Modellen auf Edge-Geräten oder eingebetteten Geräten ist ein Format erforderlich, das eine nahtlose Leistung gewährleisten kann.

Das Exportformat TensorFlow Lite oder TFLite ermöglicht Ihnen die Optimierung Ihrer Ultralytics YOLO11 Modelle für Aufgaben wie Objekterkennung und Bildklassifizierung in Edge-Device-basierten Anwendungen optimieren. In diesem Leitfaden werden wir die Schritte zur Konvertierung Ihrer Modelle in das TFLite-Format erläutern, damit Ihre Modelle auf verschiedenen Edge-Geräten besser funktionieren.

Warum sollten Sie zu TFLite exportieren?

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

TensorFlow Lite ist mit einer breiten Palette von Plattformen kompatibel, darunter Embedded Linux, Android, iOS und MCU. Durch den Export Ihres Modells nach TFLite werden Ihre Anwendungen schneller, zuverlässiger und können offline ausgeführt werden.

Hauptmerkmale der TFLite-Modelle

TFLite-Modelle bieten eine breite Palette von Schlüsselfunktionen, die maschinelles Lernen auf Geräten ermöglichen, indem sie Entwicklern helfen, ihre Modelle auf mobilen, eingebetteten und Edge-Geräten auszuführen:

  • Geräteinterne Optimierung: TFLite optimiert für die geräteinterne ML, indem es die Latenzzeit durch die lokale Verarbeitung von Daten verringert, den Datenschutz durch den Verzicht auf die Übertragung personenbezogener Daten stärkt 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: Hervorragende Leistung durch Hardware-Beschleunigung und Modelloptimierung.

Bereitstellungsoptionen in TFLite

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

TFLite bietet verschiedene Optionen für die geräteinterne Bereitstellung von Modellen für maschinelles Lernen, darunter

  • Einsatz mit Android und iOS: Sowohl Android als auch iOS können mit TFLite 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 den Prozess der Bereitstellung eines trainierten Modells auf den Plattformen Android und iOS mit TensorFlow Lite.

Architektur

  • Implementieren mit Embedded Linux: Wenn die Ausführung von Inferenzen auf einem Raspberry Pi unter Verwendung des Ultralytics Guide die Geschwindigkeitsanforderungen für Ihren Anwendungsfall nicht erfüllt, können Sie ein exportiertes TFLite-Modell verwenden, um die Inferenzzeiten zu beschleunigen. Darüber hinaus 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. Die Kern-Laufzeitumgebung benötigt nur 16 KB auf einem Arm Cortex M3 und kann viele einfache Modelle ausführen. Sie benötigt keine Betriebssystemunterstützung, keine Standard-C- oder C++-Bibliotheken und keine dynamische Speicherzuweisung.

Exportieren nach TFLite: Konvertieren Ihres YOLO11 Modells

Sie können die Effizienz der Modellausführung auf dem Gerät verbessern und die Leistung optimieren, indem Sie Ihre Modelle in das TFLite-Format konvertieren.

Einrichtung

Um die erforderlichen Pakete zu installieren, führen Sie aus:

Einrichtung

# Install the required package for YOLO11
pip install ultralytics

Detaillierte Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, finden Sie in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Verwendung

Bevor wir uns den Anweisungen zur Verwendung zuwenden, ist es wichtig zu wissen, dass alle Modelle vonUltralytics YOLO11 für den Export verfügbar sind.

Verwendung

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

Argumente exportieren

Argument Typ Standard Beschreibung
format str 'tflite' Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Einsatzumgebungen definiert.
imgsz int oder tuple 640 Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder oder ein Tupel sein (height, width) für bestimmte Abmessungen.
half bool False Ermöglicht FP16-Quantisierung (mit halber Genauigkeit), wodurch die Modellgröße reduziert und die Inferenz auf unterstützter Hardware möglicherweise beschleunigt wird.
int8 bool False Aktiviert die INT8-Quantisierung, wodurch das Modell weiter komprimiert und die Inferenz mit minimalem Genauigkeitsverlust beschleunigt wird, vor allem für Randgeräte.
nms bool False Fügt die Nicht-Maximum-Unterdrückung (NMS) hinzu, die für eine genaue und effiziente Nachbearbeitung der Erkennung unerlässlich ist.
batch int 1 Gibt die Größe der exportierten Modellstapelinferenz oder die maximale Anzahl der Bilder an, die das exportierte Modell gleichzeitig in predict Modus.
data str 'coco8.yaml' Weg zum Datensatz Konfigurationsdatei (Standard: coco8.yaml), die für die Quantisierung unerlässlich ist.

Weitere Einzelheiten zum Exportvorgang finden Sie auf der Dokumentationsseite zum Exportieren unterUltralytics .

Einsatz von exportierten YOLO11 TFLite-Modellen

Nachdem Sie Ihre Ultralytics YOLO11 erfolgreich in das TFLite-Format exportiert haben, können Sie sie nun einsetzen. Der wichtigste und empfohlene erste Schritt zur Ausführung eines TFLite-Modells ist die Verwendung der YOLO("model.tflite") Methode, wie im vorherigen Codeausschnitt beschrieben. Ausführliche Anleitungen für die Bereitstellung Ihrer TFLite-Modelle in verschiedenen anderen Umgebungen finden Sie in den folgenden Ressourcen:

  • Android: Eine Schnellstartanleitung für die Integration von TensorFlow Lite in die Anwendungen von Android , mit einfach zu befolgenden Schritten zur Einrichtung und Ausführung von Modellen für maschinelles Lernen.

  • iOS: Lesen Sie diesen detaillierten Leitfaden für Entwickler zur Integration und Bereitstellung von TensorFlow Lite-Modellen in iOS -Anwendungen mit schrittweisen Anleitungen und Ressourcen.

  • End-To-End Beispiele: Diese Seite bietet einen Überblick über verschiedene TensorFlow Lite-Beispiele, die praktische Anwendungen und Tutorials zeigen, die Entwicklern dabei helfen sollen, TensorFlow Lite in ihren Machine-Learning-Projekten auf mobilen und Edge-Geräten zu implementieren.

Zusammenfassung

In diesem Leitfaden konzentrieren wir uns auf den Export in das TFLite-Format. Durch die Konvertierung Ihrer Ultralytics YOLO11 in das TFLite-Modellformat können Sie die Effizienz und Geschwindigkeit von YOLO11 verbessern und sie effektiver und für Edge-Computing-Umgebungen geeignet machen.

Weitere Einzelheiten zur Verwendung finden Sie in der offiziellen TFLite-Dokumentation.

Wenn Sie neugierig auf andere Ultralytics YOLO11 Integrationen sind, sollten Sie unbedingt einen Blick auf unseren Integrationsleitfaden werfen. Dort finden Sie eine Menge hilfreicher Informationen und Einblicke, die auf Sie warten.

FAQ

Wie exportiere ich ein Modell von YOLO11 in das TFLite-Format?

Um ein Modell von YOLO11 in das TFLite-Format zu exportieren, können Sie die Bibliothek Ultralytics verwenden. Installieren Sie zunächst das erforderliche Paket mit:

pip install ultralytics

Verwenden Sie dann den folgenden Codeschnipsel, um Ihr Modell zu exportieren:

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

Für CLI Benutzer können Sie dies mit erreichen:

yolo export model=yolo11n.pt format=tflite # creates 'yolo11n_float32.tflite'

Weitere Einzelheiten finden Sie im Exportleitfaden unter Ultralytics .

Welche Vorteile bietet die Verwendung von TensorFlow Lite für die Bereitstellung von YOLO11 Modellen?

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

  • Optimierung auf dem Gerät: Minimierung der Latenzzeit und Verbesserung des Datenschutzes durch lokale Datenverarbeitung.
  • Plattform-Kompatibilität: Unterstützt Android, iOS, embedded Linux, und MCU.
  • Leistung: Nutzt die Hardware-Beschleunigung zur Optimierung der Modellgeschwindigkeit und -effizienz.

Weitere Informationen finden Sie in der TFLite-Anleitung.

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

Ja, Sie können YOLO11 TFLite-Modelle auf dem Raspberry Pi ausführen, um die Inferenzgeschwindigkeit zu erhöhen. Exportieren Sie zunächst Ihr Modell in das TFLite-Format, wie oben beschrieben. Dann verwenden Sie ein Tool wie TensorFlow Lite Interpreter, um das Modell auf Ihrem Raspberry Pi auszuführen.

Für weitere Optimierungen können Sie die Coral Edge TPU verwenden. Detaillierte Schritte finden Sie in unserem Raspberry Pi Deployment Guide und dem Edge TPU Integration Guide.

Kann ich TFLite-Modelle auf Mikrocontrollern für YOLO11 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 YOLO11 Modelle ausführen. Damit eignet es sich für den Einsatz auf Geräten mit minimaler Rechenleistung und geringem Speicher.

Weitere Informationen finden Sie in der Anleitung zu TFLite Micro für Mikrocontroller.

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

TensorFlow Lite bietet umfassende Plattformkompatibilität, so dass Sie die Modelle von YOLO11 auf einer Vielzahl von Geräten einsetzen können, darunter auch

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

Weitere Informationen zu den Bereitstellungsoptionen finden Sie in unserem detaillierten Bereitstellungsleitfaden.

Wie behebe ich allgemeine Probleme beim YOLO11 Modellexport nach TFLite?

Wenn Sie beim Exportieren von YOLO11 Modellen nach TFLite auf Fehler stoßen, können Sie diese in der Regel beheben:

  • Prüfen Sie die Kompatibilität der Pakete: Stellen Sie sicher, dass Sie kompatible Versionen von Ultralytics und TensorFlow verwenden. Beachten Sie unsere Installationsanleitung.
  • Modell-Unterstützung: Überprüfen Sie hier, ob das spezifische Modell YOLO11 den TFLite-Export unterstützt.
  • Quantisierungsprobleme: Wenn Sie die INT8-Quantisierung verwenden, vergewissern Sie sich, dass der Pfad Ihres Datensatzes korrekt in der Datei data Parameter.

Weitere Tipps zur Fehlerbehebung finden Sie in unserem Leitfaden für häufige Probleme.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 3 Tagen

Kommentare