Ein Leitfaden für den Export von YOLO11 nach TFLite für den Einsatz

Die Bereitstellung von Computer Vision-Modellen auf Edge- oder Embedded-Geräten erfordert ein Format, das eine nahtlose Leistung gewährleistet.
Das 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 zu optimieren. In dieser Anleitung führen wir Sie durch die Schritte zur Konvertierung Ihrer Modelle in das TFLite , was es Ihren Modellen erleichtert, auf verschiedenen Edge-Geräten gut zu 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 Mikrocontroller (MCUs). Durch den Export Ihres Modells nach TFLite werden Ihre Anwendungen schneller, zuverlässiger und können offline ausgeführt werden.
Hauptmerkmale der TFLite
TFLite 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: Erzielt überlegene Leistung durch Hardwarebeschleunigung und Modelloptimierung.
Bereitstellungsoptionen in TFLite
Bevor wir uns den Code für den Export von YOLO11 in das TFLite ansehen, sollten wir verstehen, wie TFLite 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 mit TFLite können kantenbasierte Kamerafeeds und Sensoren analysieren, um Objekte detect und zu identifizieren. TFLite bietet auch native iOS , die in Swift und Objective-C geschrieben sind. Das Architekturdiagramm unten zeigt den Prozess der Bereitstellung eines trainierten Modells auf Android und iOS mit TensorFlow Lite.

Implementieren mit eingebettetem Linux: Wenn die Ausführung von Schlussfolgerungen auf einem Raspberry Pi unter Verwendung des Ultralytics die Geschwindigkeitsanforderungen für Ihren Anwendungsfall nicht erfüllt, können Sie ein exportiertes TFLite zur Beschleunigung der Schlussfolgerungszeiten verwenden. Darüber hinaus ist es möglich, die Leistung durch den Einsatz eines Coral Edge TPU weiter zu verbessern.
Einsatz mit Mikrocontrollern: TFLite 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.
Nach TFLite exportieren: Konvertierung Ihres YOLO11
Sie können die Effizienz der Modellausführung auf dem Gerät verbessern und die Leistung optimieren, indem Sie Ihre Modelle in das TFLite konvertieren.
Installation
Um die erforderlichen Pakete zu installieren, führen Sie Folgendes aus:
Installation
# Install the required package for YOLO11
pip install ultralytics
Detaillierte Anweisungen und Best Practices zum Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, konsultieren Sie unser Handbuch zu häufigen Problemen für Lösungen und Tipps.
Nutzung
Alle Ultralytics YOLO11 Modelle sind so konzipiert, dass sie den Export standardmäßig unterstützen, wodurch die Integration in Ihren bevorzugten Deployment-Workflow vereinfacht wird. Sie können die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen anzeigen, um das beste Setup für Ihre Anwendung auszuwählen.
Nutzung
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'
Export-Argumente
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
format | str | 'tflite' | Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Deployment-Umgebungen 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 (height, width) für bestimmte Abmessungen sein. |
half | bool | False | Aktiviert die FP16-Quantisierung (halbe Präzision), wodurch die Modellgröße reduziert und potenziell die Inferenz auf unterstützter Hardware beschleunigt wird. |
int8 | bool | False | Aktiviert die INT8-Quantisierung, wodurch das Modell weiter komprimiert und die Inferenz mit minimalem Genauigkeitsverlust beschleunigt wird, hauptsächlich für Edge-Geräte. |
nms | bool | False | Fügt die Nicht-Maximum-UnterdrückungNMS) hinzu, die für eine genaue und effiziente Nachbearbeitung der Erkennung unerlässlich ist. |
batch | int | 1 | Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl von Bildern an, die das exportierte Modell gleichzeitig verarbeitet predict Modus. |
data | str | 'coco8.yaml' | Pfad zu der Datensatz Konfigurationsdatei (Standard: coco8.yaml), die für die Quantisierung unerlässlich sind. |
fraction | float | 1.0 | Gibt den Bruchteil des Datensatzes an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des vollständigen Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist. Wenn nicht mit aktiviertem INT8 angegeben, wird der vollständige Datensatz verwendet. |
device | str | None | Gibt das Gerät für den Export an: CPU (device=cpu), MPS für Apple Silicon (device=mps), oder Auto-Modus mit angegebener Auslastungsfraktion ( |
Weitere Informationen zum Exportprozess finden Sie auf der Ultralytics-Dokumentationsseite zum Exportieren.
Einsatz von exportiertenTFLite
Nachdem Sie Ihre Ultralytics YOLO11 erfolgreich in das TFLite exportiert haben, können Sie sie nun einsetzen. Der wichtigste und empfohlene erste Schritt zur Ausführung eines TFLite ist die Verwendung der YOLO("model.tflite") Methode, wie im vorherigen Codeausschnitt beschrieben. Ausführliche Anleitungen für die Bereitstellung Ihrer TFLite in verschiedenen anderen Umgebungen finden Sie in den folgenden Ressourcen:
Android: Eine Kurzanleitung zur Integration von TensorFlow Lite in Android-Anwendungen mit leicht verständlichen Schritten zum Einrichten und Ausführen von Machine-Learning-Modellen.
iOS: In diesem ausführlichen Leitfaden für Entwickler erfahren Sie, wie Sie TensorFlow Lite-Modelle in iOS-Anwendungen integrieren und bereitstellen. Er bietet schrittweise Anleitungen und Ressourcen.
End-to-End-Beispiele: Diese Seite bietet einen Überblick über verschiedene TensorFlow Lite-Beispiele und zeigt praktische Anwendungen und Tutorials, die Entwicklern 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 . Durch die Konvertierung Ihrer Ultralytics YOLO11 in das TFLite 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 offiziellenTFLite .
Wenn Sie mehr über andere Ultralytics YOLO11-Integrationen erfahren möchten, sollten Sie sich auch unsere Seite mit dem Integrationsleitfaden ansehen. Dort finden Sie viele hilfreiche Informationen und Einblicke.
FAQ
Wie kann ich ein YOLO11 in das TFLite exportieren?
Um ein YOLO11 in das TFLite zu exportieren, können Sie die Ultralytics verwenden. Installieren Sie zunächst das erforderliche Paket mit:
pip install ultralytics
Verwenden Sie dann den folgenden Code-Schnipsel, 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 folgendem Befehl erreichen:
yolo export model=yolo11n.pt format=tflite # creates 'yolo11n_float32.tflite'
Weitere Informationen finden Sie im Ultralytics-Exportleitfaden.
Welche Vorteile bietet die Verwendung von TensorFlow Lite für die YOLO11-Modellbereitstellung?
TensorFlow LiteTFLite) 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 auf mobilen, eingebetteten und IoT-Geräten eignet. Die wichtigsten Vorteile sind:
- On-Device-Optimierung: Minimieren Sie die Latenz und verbessern Sie den Datenschutz, indem Sie Daten lokal verarbeiten.
- Plattformkompatibilität: Unterstützt Android, iOS, Embedded Linux und MCU.
- Leistung: Nutzt Hardwarebeschleunigung, um die Modellgeschwindigkeit und -effizienz zu optimieren.
Weitere Informationen finden Sie in der TFLite .
Ist es möglich, YOLO11 TFLite auf dem Raspberry Pi zu betreiben?
Ja, Sie können YOLO11 TFLite auf dem Raspberry Pi ausführen, um die Inferenzgeschwindigkeit zu erhöhen. Exportieren Sie zunächst Ihr Modell in das TFLite , 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 Verwendung von Coral Edge TPU in Betracht ziehen. Detaillierte Schritte finden Sie in unserem Raspberry Pi-Bereitstellungsleitfaden und im Edge TPU-Integrationsleitfaden.
Kann ich TFLite auf Mikrocontrollern für YOLO11 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 grundlegende YOLO11 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 zuTFLite Micro für Mikrocontroller.
Welche Plattformen sind mit den TFLite exportierten YOLO11 kompatibel?
TensorFlow Lite bietet umfangreiche Plattformkompatibilität, sodass Sie YOLO11-Modelle auf einer Vielzahl von Geräten bereitstellen können, darunter:
- Android und iOS: Native Unterstützung durch TFLite Android- und iOS-Bibliotheken.
- Embedded Linux: Ideal für Einplatinencomputer wie Raspberry Pi.
- Microcontroller: Geeignet für MCUs mit begrenzten Ressourcen.
Weitere Informationen zu den Bereitstellungsoptionen finden Sie in unserem ausführlichen Bereitstellungsleitfaden.
Wie behebe ich allgemeine Probleme beim Export von YOLO11 nach TFLite?
Wenn Sie beim Exportieren von YOLO11 nach TFLite auf Fehler stoßen, sind folgende Lösungen üblich:
- Paketkompatibilität prüfen: Stellen Sie sicher, dass Sie kompatible Versionen von Ultralytics und TensorFlow verwenden. Beachten Sie unseren Installationsleitfaden.
- Modell-Unterstützung: Vergewissern Sie sich, dass das spezifische YOLO11 den TFLite unterstützt, indem Sie dieUltralytics-Exportdokumentationsseite überprüfen.
- Quantisierungsprobleme: Stellen Sie bei der Verwendung der INT8-Quantisierung sicher, dass Ihr Dataset-Pfad korrekt angegeben ist in der
dataParameter.
Weitere Tipps zur Fehlerbehebung finden Sie in unserem Leitfaden zu häufigen Problemen.