YOLO-Modelle für die Bereitstellung auf Edge-Geräten und im Web nach LiteRT exportieren#
LiteRT (Kurzform für Lite Runtime) ist die leistungsstarke Laufzeitumgebung von Google für KI direkt auf Geräten. Sie ist die nächste Generation und der neue Name von TensorFlow Lite (TFLite) und verwendet dasselbe Modellformat .tflite. Mit LiteRT lässt sich ein einzelnes exportiertes Ultralytics YOLO-Modell auf Mobilgeräten, eingebetteten Systemen, Edge-Geräten und im Browser bereitstellen. Damit deckt es alles ab, wofür zuvor die getrennten Exportformate tflite und tfjs erforderlich waren.
Ansehen: So exportierst du Ultralytics YOLO26 nach Google LiteRT | Stelle Vision-KI auf Android und iOS bereit | Mobile KI 📱🚀
Das LiteRT-Exportformat optimiert deine Modelle für Aufgaben wie Objekterkennung, Segmentierung, Posenschätzung und Klassifizierung, damit sie auf einer Vielzahl von Geräten schnell und offline ausgeführt werden können.
Das offizielle Ultralytics YOLO Flutter-Plugin führt LiteRT-Exporte .tflite sofort einsatzbereit auf Android aus. Dazu gehören Kamera-Inferenz in Echtzeit, Vorhersagen für einzelne Bilder, GPU-Beschleunigung und der automatische Modelldownload für alle sieben YOLO26-Aufgaben einschließlich Tiefe. Für Apple-Geräte verwendest du den CoreML-Export; Informationen zu Qualcomm Snapdragon NPUs findest du in der Qualcomm-QNN-Integration.
Exportiere Klassifizierungsmodelle mit imgsz=224. Exportiere Erkennungs-, Segmentierungs-, semantische, Tiefen-, Posenschätzungs- und OBB-Modelle mit imgsz=640. Dieser Standard für 224/640 wird von den offiziellen mobilen LiteRT-, CoreML- und QNN-Modellen verwendet.
Das offizielle Ultralytics-YOLO-NPM-Paket führt LiteRT-Exporte .tflite mit LiteRT.js direkt im Browser aus – ohne Server oder Python. Es bietet Echtzeit-Inferenz mit der Webcam, Vorhersagen für einzelne Bilder und WebGPU-Beschleunigung (mit automatischem CPU-/WASM-Fallback) für sechs YOLO26-Aufgaben (Erkennung, Segmentierung, semantische Segmentierung, Klassifizierung, Posenschätzung, OBB). Mit WebGPU ist es oft ~2× schneller als ONNX Runtime Web.
npm i @ultralytics/yolo @litertjs/coreWarum solltest du nach LiteRT exportieren?#
LiteRT ist ein Open-Source-Framework für Inferenz direkt auf Geräten, auch bekannt als Edge Computing. Es stellt Entwicklern Werkzeuge bereit, um trainierte Modelle auf Mobilgeräten, eingebetteten Systemen und IoT-Geräten sowie herkömmlichen Computern auszuführen – und mit LiteRT.js auch direkt in Webbrowsern und Node.js.
Ein Modellformat für alle Zielplattformen:
- Mobilgeräte und eingebettete Systeme: Android, iOS, eingebettetes Linux und Mikrocontroller (MCUs).
- Edge-Beschleuniger: Kompatibel mit Coral Edge TPU für zusätzliche Beschleunigung.
- Browser und Node.js: LiteRT.js führt dasselbe Modell
.tfliteim Web mit WebGPU-/WASM-Beschleunigung aus – ein separater TensorFlow.js-Export ist nicht erforderlich.
Wichtige Funktionen von LiteRT-Modellen#
- Optimierung auf dem Gerät: Verringert die Latenz durch lokale Datenverarbeitung, verbessert den Datenschutz, da keine personenbezogenen Daten übertragen werden, und reduziert die Modellgröße, um Speicherplatz zu sparen.
- Unterstützung mehrerer Plattformen: Läuft auf Android, iOS, eingebettetem Linux, Mikrocontrollern und modernen Webbrowsern.
- Hardwarebeschleunigung: Nutzt XNNPACK auf der CPU sowie GPU-Beschleunigung über OpenCL, Metal und WebGPU. Der GPU-Delegate läuft standardmäßig mit FP16 für zusätzliche Geschwindigkeit.
- Quantisierung: Unterstützt FP32, statisches INT8 (
quantize=8, int8-Gewichte + int8-Aktivierungen), statisches INT16 mit Aktivierungen (quantize="w8a16", int8-Gewichte + int16-Aktivierungen für höhere Genauigkeit) und dynamisches INT8 (quantize="w8a32", int8-Gewichte + FP32-Aktivierungen, keine Kalibrierungsdaten erforderlich), um Modelle zu komprimieren und die Inferenz mit minimalem Verlust an Genauigkeit zu beschleunigen. - Unterstützung verschiedener Programmiersprachen: Kompatibel mit Java/Kotlin, Swift, Objective-C, C++, Python und JavaScript.
Gemessene Leistung#
Hardware: Xiaomi 17 mit 12 GB LPDDR5X-Speicher und Android 16 / API 36. Der 3-nm-Snapdragon 8 Elite Gen 5 (SM8850) verfügt über eine Qualcomm-Oryon-CPU mit 8 Kernen (2 Prime-Kerne mit bis zu 4,6 GHz und 6 Performance-Kerne mit bis zu 3,62 GHz), eine Adreno-GPU und eine Hexagon-NPU.
| Modell | Aufgabe | Größe (Pixel) | CPU w8a32 LiteRT (ms) | GPU w8a32 LiteRT (ms) |
|---|---|---|---|---|
| YOLO26n | Detect | 640 | 52.2 1.8 / 48.1 / 2.4 | 15.8 2.3 / 8.9 / 4.6 |
| YOLO26n-seg | Segment | 640 | 73.4 1.8 / 65.6 / 6.0 | 33.2 1.8 / 23.8 / 7.6 |
| YOLO26n-sem | Semantisch | 640 | 61.2 1.8 / 51.1 / 8.3 | 34.2 1.8 / 24.0 / 8.3 |
| YOLO26n-depth | Tiefe | 640 | 124.4 1.9 / 115.1 / 7.4 | 23.0 1.8 / 13.5 / 7.7 |
| YOLO26n-cls | Klassifizieren | 224 | 4.4 0.4 / 4.0 / 0.0 | 3.1 0.8 / 2.1 / 0.2 |
| YOLO26n-pose | Pose | 640 | 57.4 1.8 / 53.8 / 1.8 | 16.6 2.7 / 10.1 / 3.9 |
| YOLO26n-obb | OBB | 640 | 50.3 1.8 / 47.2 / 1.4 | 11.7 1.8 / 7.8 / 2.0 |
- Geschwindigkeitswerte sind Latenzen bei einer einzelnen Bildverarbeitung — der Mittelwert aus 15 Durchläufen nach 3 Aufwärmdurchläufen auf
bus.jpg, gemessen mit dem Ultralytics Flutter-Plugin0.6.10und den standardisiertenv0.6.6-Assets. Die Reihenfolge von CPU und GPU wechselte bei den Aufgaben in einem einzigen sequenziellen Durchlauf. Native Protokolle bestätigten, dass alle CPU-Zeilen LiteRT CPU/XNNPACK verwendeten und alle GPU-Zeilen den vollständigen Graphen an LiteRT OpenCL delegierten (LITERT_CL). - Der LiteRT-Export zeichnet das PyTorch-Modell direkt nach und erzeugt ein NCHW-
.tflitemit einem Float-Eingabewert — der GPU-Delegate kompiliert den gesamten Graphen (hier laufen alle sieben Aufgaben auf der Adreno-GPU), undw8a32benötigt keine Kalibrierungsdaten. Nutzer sollten Tensorformen und Signaturnamen auslesen, statt das ältere onnx2tf-NHWC-Layout oderIdentity-Ausgabenamen vorauszusetzen; RGB-Daten sollten direkt als planares CHW verpackt oder vor der Inferenz transponiert werden. Semantische Exporte geben NCHW-Logits zurück und erfordern ein klassenweises Argmax auf dem Host. Die offiziellen Android-Assets sind im Releasev0.6.6der yolo-flutter-app verfügbar; den ausführlichen Benchmarkbericht findest du in der Flutter-Performance-Dokumentation. - Die passenden Werte für die Hexagon-NPU des Snapdragon sowie für LiteRT CPU/GPU findest du unter Qualcomm-QNN-Integration.
- Vergleiche die Ergebnisse für die Apple-CPU und den Beschleuniger in der CoreML-Integration.
Die folgenden Gerätedurchläufe verwenden dieselben standardisierten v0.6.6-Assets.
Google Pixel 10#
Hardware: Google Pixel 10 mit 12 GB Speicher und Android 16 / API 36. Der 3-nm-Google Tensor G5 verfügt über eine CPU mit 8 Kernen (1 Prime-Kern mit bis zu 3,78 GHz, 5 Performance-Kerne mit bis zu 3,05 GHz und 2 Effizienzkerne mit bis zu 2,25 GHz), eine PowerVR-D-Series-GPU und eine Google-TPU. Die Kerntaktraten und der Name des GPU-Treibers wurden auf dem Benchmarkgerät ausgelesen, da Google diese Angaben nicht in den verlinkten technischen Daten veröffentlicht.
| Modell | Aufgabe | Größe (Pixel) | CPU w8a32 LiteRT (ms) | GPU w8a32 LiteRT (ms) |
|---|---|---|---|---|
| YOLO26n | Detect | 640 | 53.3 1.5 / 50.2 / 1.6 | 45.5 3.8 / 37.7 / 4.0 |
| YOLO26n-seg | Segment | 640 | 87.7 1.8 / 78.5 / 7.5 | 50.9 3.0 / 36.9 / 10.9 |
| YOLO26n-sem | Semantisch | 640 | 68.6 1.5 / 59.0 / 8.0 | 71.6 1.5 / 59.5 / 10.6 |
| YOLO26n-depth | Tiefe | 640 | 120.3 1.5 / 112.5 / 6.3 | 52.5 2.0 / 37.5 / 13.0 |
| YOLO26n-cls | Klassifizieren | 224 | 4.0 0.3 / 3.4 / 0.2 | 17.6 0.9 / 16.7 / 0.1 |
| YOLO26n-pose | Pose | 640 | 59.7 1.5 / 57.0 / 1.2 | 46.6 3.8 / 39.2 / 3.5 |
| YOLO26n-obb | OBB | 640 | 52.0 1.5 / 48.9 / 1.7 | 45.5 4.0 / 38.5 / 2.9 |
Benchmark: Mittelwert aus 15 predict()-Aufrufen nach 3 Aufwärmdurchläufen auf bus.jpg, mit ultralytics_yolo 0.6.10 und den offiziellen v0.6.6-Assets. Die Reihenfolge von CPU und GPU wechselt bei den Aufgaben in einem einzigen sequenziellen Durchlauf. Native Protokolle bestätigten, dass alle CPU-Zeilen LiteRT CPU/XNNPACK verwendeten und alle GPU-Zeilen den vollständigen Graphen an LiteRT OpenCL delegierten (LITERT_CL).
Samsung Galaxy S26#
Hardware: Samsung Galaxy S26 (SM-S942B) mit 12 GB Speicher und Android 16 / API 36. Der 2-nm-Exynos 2600 verfügt über eine Armv9.3-CPU mit 10 Kernen (1 C1-Ultra-Kern mit bis zu 3,8 GHz, 3 C1-Pro-Performance-Kerne mit bis zu 3,26 GHz und 6 C1-Pro-Effizienzkerne mit bis zu 2,76 GHz), eine Xclipse-960-GPU und eine Samsung-NPU.
| Modell | Aufgabe | Größe (Pixel) | CPU w8a32 LiteRT (ms) | GPU w8a32 LiteRT (ms) |
|---|---|---|---|---|
| YOLO26n | Detect | 640 | 36.7 1.3 / 33.8 / 1.7 | 16.4 1.4 / 12.3 / 2.6 |
| YOLO26n-seg | Segment | 640 | 54.6 1.2 / 48.0 / 5.3 | 32.8 1.3 / 24.5 / 7.0 |
| YOLO26n-sem | Semantisch | 640 | 47.8 1.2 / 38.4 / 8.1 | 34.2 1.3 / 24.9 / 8.0 |
| YOLO26n-depth | Tiefe | 640 | 92.9 1.2 / 84.8 / 6.9 | 33.5 1.3 / 22.4 / 9.8 |
| YOLO26n-cls | Klassifizieren | 224 | 2.7 0.2 / 2.3 / 0.2 | 2.6 0.2 / 2.4 / 0.0 |
| YOLO26n-pose | Pose | 640 | 42.8 1.3 / 40.5 / 1.0 | 18.4 1.4 / 14.1 / 2.9 |
| YOLO26n-obb | OBB | 640 | 37.5 1.3 / 35.1 / 1.2 | 18.8 2.5 / 14.6 / 1.8 |
Benchmark: Mittelwert aus 15 predict()-Aufrufen nach 3 Aufwärmdurchläufen auf bus.jpg, mit ultralytics_yolo 0.6.10 und den offiziellen v0.6.6-Assets. Die Reihenfolge von CPU und GPU wechselt bei den Aufgaben in einem einzigen sequenziellen Durchlauf. Native Protokolle bestätigten, dass alle CPU-Zeilen LiteRT CPU/XNNPACK verwendeten und alle GPU-Zeilen den vollständigen Graphen an LiteRT OpenCL delegierten (LITERT_CL).
Xiaomi 17T Pro#
Hardware: Xiaomi 17T Pro (2602EPTC0G) mit 12 GB LPDDR5X-Speicher und Android 16 / API 36. Der 3-nm- MediaTek Dimensity 9500 (MT6993) verfügt über eine Armv9.3-CPU mit 8 Kernen (1 C1-Ultra-Kern mit bis zu 4,21 GHz, 3 C1-Premium-Kerne mit bis zu 3,5 GHz und 4 C1-Pro-Kerne mit bis zu 2,7 GHz), eine Mali-G1-Ultra-MC12-GPU und eine MediaTek-NPU 990.
| Modell | Aufgabe | Größe (Pixel) | CPU w8a32 LiteRT (ms) | GPU w8a32 LiteRT (ms) |
|---|---|---|---|---|
| YOLO26n | Detect | 640 | 45.4 1.3 / 42.1 / 2.0 | 26.6 1.9 / 22.0 / 2.7 |
| YOLO26n-seg | Segment | 640 | 126.2 2.6 / 113.9 / 9.7 | 46.7 2.6 / 33.3 / 10.8 |
| YOLO26n-sem | Semantisch | 640 | 117.9 2.6 / 98.8 / 16.5 | 74.3 2.6 / 54.7 / 17.0 |
| YOLO26n-depth | Tiefe | 640 | 182.4 2.5 / 167.6 / 12.3 | 47.8 2.5 / 32.3 / 12.9 |
| YOLO26n-cls | Klassifizieren | 224 | 6.2 0.4 / 5.3 / 0.4 | 7.4 0.4 / 6.9 / 0.1 |
| YOLO26n-pose | Pose | 640 | 97.6 2.5 / 93.3 / 1.8 | 28.6 2.5 / 23.3 / 2.8 |
| YOLO26n-obb | OBB | 640 | 91.5 2.6 / 85.8 / 3.2 | 27.5 2.7 / 21.8 / 2.9 |
Benchmark: Mittelwert aus 15 predict()-Aufrufen nach 3 Aufwärmdurchläufen auf bus.jpg, mit ultralytics_yolo 0.6.10 und den offiziellen v0.6.6-Assets. Die Reihenfolge von CPU und GPU wechselt bei den Aufgaben in einem einzigen sequenziellen Durchlauf. Native Protokolle bestätigten, dass alle CPU-Zeilen LiteRT CPU/XNNPACK verwendeten und alle GPU-Zeilen den vollständigen Graphen an LiteRT OpenCL delegierten (LITERT_CL).
Unterstützte Aufgaben#
Der LiteRT-Export unterstützt alle sieben Ultralytics-Aufgaben. Semantische Segmentierung und Tiefenschätzung sind nur mit YOLO26 verfügbar, der einzigen Modellfamilie, die diese Köpfe enthält.
| Aufgabe | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Erkennung | ✅ | ✅ | ✅ |
| Segmentierung | ✅ | ✅ | ✅ |
| Semantik | ❌ | ❌ | ✅ |
| Tiefe | ❌ | ❌ | ✅ |
| Klassifizierung | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Export nach LiteRT: Dein YOLO-Modell konvertieren#
Du kannst die Effizienz der Ausführung auf dem Gerät verbessern und mehr Bereitstellungsoptionen nutzen, indem du deine Modelle ins LiteRT-Format konvertierst.
Installation#
Führe zum Installieren des erforderlichen Pakets Folgendes aus:
# Install the required package for YOLO
pip install ultralyticsAusführliche Anleitungen und bewährte Vorgehensweisen findest du in unserem Ultralytics-Installationsleitfaden. Falls Probleme auftreten, sieh dir unseren Leitfaden zu häufigen Problemen an.
Der LiteRT-Export wird derzeit unter Linux x86_64 und macOS unterstützt. Das exportierte .tflite-Modell selbst läuft auf allen von LiteRT unterstützten Plattformen (Mobilgeräte, eingebettete Systeme, Edge-Geräte und Browser).
Verwendung#
Alle Ultralytics-YOLO-Modelle unterstützen den Export standardmäßig. Das LiteRT-Format unterstützt die Modi Export, Vorhersage und Validierung. Du kannst also ein Modell exportieren und anschließend laden, um lokal Inferenzen auszuführen oder die Genauigkeit zu validieren.
from ultralytics import YOLO
# Ein YOLO26-Modell laden
model = YOLO("yolo26n.pt")
# Modell ins LiteRT-Format exportieren
model.export(format="litert", imgsz=640) # Erstellt „yolo26n.tflite“; für die Klassifizierung imgsz=224 verwendenfrom ultralytics import YOLO
model = YOLO("yolo26n.pt")
# Dynamisches INT8: int8-Gewichte, FP32-Aktivierungen – keine Kalibrierungsdaten erforderlich
model.export(format="litert", quantize="w8a32", imgsz=640) # Erstellt „yolo26n_w8a32.tflite“
# Statisches INT8: int8-Gewichte + int8-Aktivierungen – benötigt Kalibrierungsdaten
model.export(format="litert", quantize=8, data="coco8.yaml", imgsz=640) # Erstellt „yolo26n_int8.tflite“
# Statisches w8a16: int8-Gewichte + int16-Aktivierungen (höhere Genauigkeit) – benötigt Kalibrierungsdaten
model.export(format="litert", quantize="w8a16", data="coco8.yaml", imgsz=640) # Erstellt „yolo26n_w8a16.tflite“from ultralytics import YOLO
# Exportiertes LiteRT-Modell laden
model = YOLO("yolo26n.tflite")
# Inferenz ausführen
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Exportiertes LiteRT-Modell laden
model = YOLO("yolo26n.tflite")
# Die Genauigkeit anhand des COCO8-Datensatzes validieren
metrics = model.val(data="coco8.yaml")Exportargumente#
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
format | str | 'litert' | Zielformat des exportierten Modells, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen festlegt. |
imgsz | int oder tuple | 640 | Gewünschte Bildgröße für die Modelleingabe. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein. |
quantize | int oder str | None | Quantisierungsgenauigkeit: 8 (statisches INT8, int8-Gewichte + int8-Aktivierungen; benötigt Kalibrierungsdaten data/fraction), 'w8a16' (statisch, int8-Gewichte + int16-Aktivierungen; benötigt Kalibrierungsdaten data/fraction), 'w8a32' (dynamisches INT8, int8-Gewichte + FP32-Aktivierungen; keine Kalibrierung erforderlich) oder 32/nicht festgelegt (FP32). FP16 wird nicht separat exportiert (siehe Hinweis unten). Ersetzt die veralteten Optionen half/int8. |
batch | int | 1 | Gibt die Batchgröße für die Inferenz des Exportmodells oder die Höchstzahl der Bilder an, die das exportierte Modell gleichzeitig im predict-Modus verarbeiten kann. |
data | str | None | Dataset-YAML-Datei für die INT8-Kalibrierung; bei der Klassifizierung wird stattdessen ein Dataset-Verzeichnis oder ein integrierter Dataset-Name angegeben. Wenn quantize=8 oder 'w8a16' nicht angegeben ist, wählt Ultralytics das standardmäßige Kalibrierungs-Dataset für die jeweilige Modellaufgabe aus. |
fraction | float, int oder list | 1.0 | Kalibrierungsteilstichprobe als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse/-Anzahlen. Bei Listen mit zwei Elementen bleibt test vollständig erhalten, während 0 es überspringt. |
device | str | None | Gibt das Gerät für den Export an. Der LiteRT-Export läuft auf der CPU (device=cpu). |
Im Gegensatz zum älteren tflite-Export benötigt LiteRT keinen separaten FP16-Export. Ein FP32-.tflite-Modell wird zur Laufzeit mit halber Genauigkeit ausgeführt, wenn ein GPU-Delegate (WebGPU, OpenCL, Metal) verwendet wird – dies ist die offizielle LiteRT-Methode für FP16-Inferenzen.
Weitere Informationen zum Exportvorgang findest du auf der Ultralytics-Dokumentationsseite zum Export.
Exportierte YOLO-LiteRT-Modelle bereitstellen#
Nachdem du dein Ultralytics-YOLO-Modell nach LiteRT exportiert hast, kannst du es auf verschiedenen Plattformen bereitstellen. Am schnellsten überprüfst du es lokal mit der oben gezeigten Methode YOLO("yolo26n.tflite"). Weitere Ressourcen zur Bereitstellung in anderen Umgebungen findest du hier:
Mobilgeräte & eingebettete Systeme#
- Android: Eine Schnellstartanleitung zur Integration von LiteRT in Android-Anwendungen.
- iOS: Eine Anleitung zur Integration und Bereitstellung von LiteRT-Modellen in iOS-Anwendungen.
- Eingebettetes Linux & Raspberry Pi: Führe LiteRT-Modelle auf Einplatinencomputern aus, bei Bedarf beschleunigt durch einen Coral Edge TPU.
- Mikrocontroller: Stelle Modelle auf MCUs mit nur wenigen Kilobyte Speicher bereit – die Laufzeitumgebung benötigt etwa 16 KB auf einem Arm Cortex-M3.
Browser & Node.js (LiteRT.js)#
- LiteRT.js im Überblick: Führe dasselbe
.tflite-Modell direkt im Browser mit WebGPU/WASM-Beschleunigung aus. So entfällt die serverseitige Berechnung und die Daten bleiben auf dem Gerät des Benutzers. - Beispiele von Anfang bis Ende: Praktische Beispiele und Tutorials zur Implementierung von LiteRT auf Mobilgeräten, Edge-Geräten und im Web.
Zusammenfassung#
In dieser Anleitung haben wir behandelt, wie du Ultralytics YOLO-Modelle in das LiteRT-Format exportierst. Indem LiteRT die Bereitstellung auf Mobilgeräten und Edge-Geräten (früher TFLite) sowie im Browser (früher TF.js) in einem einzigen .tflite-Modell zusammenführt, macht es deine YOLO-Modelle schneller, kleiner und auf praktisch jedem Gerät einsetzbar.
Weitere Informationen findest du in der offiziellen LiteRT-Dokumentation.
Wenn du dich auch für andere Ultralytics-YOLO-Integrationen interessierst, findest du viele hilfreiche Ressourcen auf unserer Seite mit Integrationsanleitungen.
Häufig gestellte Fragen#
Verwende die Ultralytics-Bibliothek, um ein YOLO-Modell nach LiteRT (
.tflite) zu exportieren. Installiere zuerst das Paket:pip install ultralyticsExportiere anschließend dein Modell:
from ultralytics import YOLO # Ein YOLO26-Modell laden model = YOLO("yolo26n.pt") # Modell ins LiteRT-Format exportieren model.export(format="litert", imgsz=640) # für die Klassifizierung imgsz=224 verwendenFür CLI-Nutzer:
yolo export model=yolo26n.pt format=litert imgsz=640 # use imgsz=224 for classificationWeitere Informationen findest du in der Ultralytics-Exportanleitung.
LiteRT ist der neue Name für TensorFlow Lite – dasselbe
.tflite-Modellformat, dieselbe Laufzeitumgebung, von Google umbenannt. Bei Ultralytics deckt ein einzigeslitert-Exportformat jetzt beide Anwendungsfälle ab, für die zuvor zwei separate Formate erforderlich waren:- Das frühere Format
tflite→ Bereitstellung auf Mobilgeräten, eingebetteten Systemen und Edge-Geräten. - Das frühere Format
tfjs→ Bereitstellung im Browser und mit Node.js, jetzt über LiteRT.js, das dieselbe.tflite-Datei ausführt.
Wenn du bereits eine
.tflite-Datei hast, kannst du sie direkt mitYOLO("model.tflite")laden. Sie wird dann über das LiteRT-Backend ausgeführt.- Das frühere Format
Ja. Exportiere dein Modell ins LiteRT-Format und führe es anschließend auf einem Raspberry Pi aus, um die Inferenz zu beschleunigen. Für weitere Optimierungen kannst du einen Coral Edge TPU verwenden. Eine ausführliche Anleitung findest du in unserem Leitfaden zur Bereitstellung auf Raspberry Pi.
Ja. LiteRT.js führt dasselbe exportierte
.tflite-Modell direkt in einem Webbrowser oder einer Node.js-Anwendung mit WebGPU/WASM-Beschleunigung aus. Damit wird der bisherige TensorFlow.js-Workflow ersetzt – es ist kein separater Browser-Export erforderlich. Stelle einfach dein LiteRT-Modell mit der LiteRT.js-Laufzeitumgebung bereit.Ja – zur Laufzeit. Ein FP32-LiteRT-Modell wird automatisch mit FP16 ausgeführt, wenn es auf einem GPU-Delegate (WebGPU, OpenCL oder Metal) läuft. Das ist der offizielle LiteRT-Ansatz. Du benötigst also keinen speziellen FP16-Export. Für eine stärkere Komprimierung kannst du INT8-Quantisierung mit
quantize=8verwenden.Wenn beim Export von YOLO-Modellen nach LiteRT Fehler auftreten, helfen häufig folgende Lösungen:
- Plattform überprüfen: Der LiteRT-Export wird unter Linux x86_64 und macOS unterstützt. Prüfe, ob deine Umgebung diese Voraussetzungen erfüllt.
- Paketkompatibilität überprüfen: Stelle sicher, dass du eine kompatible Version von Ultralytics verwendest. Weitere Informationen findest du in unserer Installationsanleitung.
- Probleme mit der Quantisierung: Wenn du INT8-Quantisierung verwendest, stelle sicher, dass der Pfad zu deinem Datensatz im Parameter
datakorrekt angegeben ist.
Weitere Tipps zur Fehlerbehebung findest du in unserem Leitfaden zu häufigen Problemen.