Ein Leitfaden zum YOLO11 Modellexport nach TFLite für die Bereitstellung
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 nach TFLite exportieren?
Das von Google im Mai 2017 als Teil des TensorFlow Frameworks vorgestellte TensorFlow Lite, kurz TFLite, ist ein Open-Source-Framework für Deep Learning, das für geräteinterne Inferenzen, 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.
-
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 sie in das TFLite-Format konvertieren.
Einrichtung
Um die erforderlichen Pakete zu installieren, führen Sie aus:
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")
Weitere Einzelheiten zum Exportvorgang finden Sie auf der Dokumentationsseite zum Exportieren unterUltralytics .
Einsatz von exportierten YOLO11 TFLite-Modellen
Nachdem Sie Ihre Ultralytics YOLO11 Modelle erfolgreich in das TFLite-Format exportiert haben, können Sie sie nun einsetzen. Der primäre und empfohlene erste Schritt zur Ausführung eines TFLite-Modells ist die Verwendung der Methode YOLO("model.tflite"), wie im vorherigen Codeausschnitt beschrieben. Ausführliche Anleitungen für die Bereitstellung Ihrer TFLite-Modelle in verschiedenen anderen Einstellungen 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 Modelle in das TFLite-Modellformat können Sie die Effizienz und Geschwindigkeit von YOLO11 Modellen verbessern, wodurch sie effektiver und für Edge-Computing-Umgebungen geeignet werden.
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:
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:
Weitere Einzelheiten finden Sie im Exportleitfaden unter Ultralytics .
Welche Vorteile bietet die Verwendung von TensorFlow Lite für dieBereitstellung 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 hier erklärt. Verwenden Sie dann ein Tool wie TensorFlow Lite Interpreter, um das Modell auf Ihrem Raspberry Pi auszuführen.
Für weitere Optimierungen können Sie Coral Edge TPU verwenden. Detaillierte Schritte finden Sie in unserem Raspberry Pi Deployment 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.
Weitere Tipps zur Fehlerbehebung finden Sie in unserem Leitfaden für häufige Probleme.