TensorFlow Lite ist eine Reihe von Tools, die maschinelles Lernen auf dem Gerät ermöglichen und Entwickler dabei unterstützen, ihre Modelle auf mobilen, eingebetteten und Edge-Geräten auszuführen.
Wichtige Features
- Für maschinelles Lernen auf dem Gerät optimiert, indem fünf wichtige Einschränkungen berücksichtigt werden: Latenz (kein Umlauf zum Server), Datenschutz (keine personenbezogenen Daten verlassen das Gerät), Konnektivität (keine Internetkonnektivität erforderlich), Größe (verringerte Modell- und Binärgröße) und Energieverbrauch (effiziente Inferenz und fehlende Netzwerkverbindungen).
- Unterstützung mehrerer Plattformen, einschließlich Android- und iOS, eingebettetem Linux und Mikrocontrollern
- Vielfältige Sprachunterstützung, einschließlich Java, Swift, Objective-C, C++ und Python.
- Hohe Leistung mit Hardwarebeschleunigung und Modelloptimierung.
Entwicklungsworkflow
Die folgende Anleitung führt die einzelnen Schritte des Workflows durch und enthält Links zu weiteren Anleitungen:
1. TensorFlow Lite-Modell generieren
Ein TensorFlow Lite-Modell wird in einem speziellen effizienten portablen Format dargestellt, das als FlatBuffers bezeichnet wird und durch die Dateiendung .tflite identifiziert wird. Dies bietet mehrere Vorteile gegenüber dem Protokollpuffermodellformat von TensorFlow, wie eine geringere Größe (kleinerer Codebedarf) und eine schnellere Inferenz (direkter Zugriff auf Daten ohne zusätzlichen Analyse-/Entpackungsschritt), die es TensorFlow Lite ermöglichen, auf Geräten mit begrenzten Rechen- und Speicherressourcen effizient auszuführen.
Ein TensorFlow Lite-Modell kann optional Metadaten mit einer für Menschen lesbaren Modellbeschreibung und maschinenlesbaren Daten für die automatische Generierung von Vor- und Nachbearbeitungspipelines während On-Device-Inferenzen enthalten. Weitere Informationen finden Sie unter Metadaten hinzufügen.
Sie können ein TensorFlow Lite-Modell auf folgende Arten generieren:
Vorhandenes TensorFlow Lite-Modell verwenden:Informationen zum Auswählen eines vorhandenen Modells finden Sie unter TensorFlow Lite-Beispiele. Modelle können Metadaten enthalten oder nicht.
TensorFlow-Modell in ein TensorFlow Lite-Modell konvertieren:Verwenden Sie den TensorFlow Lite Converter, um ein TensorFlow-Modell in ein TensorFlow Lite-Modell zu konvertieren. Während der Konvertierung können Sie Optimierungen wie die Quantisierung anwenden, um die Modellgröße und -latenz mit minimalem oder gar keinem Genauigkeitsverlust zu reduzieren. Standardmäßig enthalten alle Modelle keine Metadaten.
2. Inferenz ausführen
Inferenz bezieht sich auf die Ausführung eines TensorFlow Lite-Modells auf dem Gerät, um anhand von Eingabedaten Vorhersagen zu treffen. Je nach Modelltyp können Sie Inferenzen auf folgende Arten ausführen:
Modelle ohne Metadaten: Verwenden Sie die TensorFlow Lite Interpreter API. Wird auf mehreren Plattformen und Sprachen wie Java, Swift, C++, Objective-C und Python unterstützt.
Modelle mit Metadaten: Sie können benutzerdefinierte Inferenzpipelines mit der TensorFlow Lite-Supportbibliothek erstellen. Auf Android-Geräten können Nutzer mithilfe der ML Model Binding-Funktion von Android Studio oder des TensorFlow Lite Code Generator automatisch Code-Wrapper generieren. Wird nur auf Java (Android) unterstützt, während Swift (iOS) und C++ noch in Arbeit sind.
Auf Android- und iOS-Geräten können Sie die Leistung durch die Hardwarebeschleunigung verbessern. Auf beiden Plattformen können Sie einen GPU-Delegaten und unter iOS den Core ML Delegate verwenden. Wenn Sie Unterstützung für neue Hardwarebeschleuniger hinzufügen möchten, können Sie Ihren eigenen Bevollmächtigten definieren.
Erste Schritte
Je nach Zielgerät können Sie die folgenden Anleitungen verwenden:
Android und iOS:Lesen Sie die Kurzanleitung für Android und die Kurzanleitung für iOS.
Eingebettetes Linux:Lesen Sie die Python-Kurzanleitung für eingebettete Geräte wie Raspberry Pi und Coral-Geräte mit Edge TPU oder die C++-Build-Anleitung für ARM.
Mikrocontroller:In der Bibliothek TensorFlow Lite for Microcontrollers finden Sie Informationen zu Mikrocontrollern und DSPs mit nur wenigen Kilobyte Arbeitsspeicher.
Technische Einschränkungen
- Alle TensorFlow-Modelle können nicht in TensorFlow Lite-Modelle konvertiert werden. Weitere Informationen finden Sie unter Kompatibilität mit Operatoren.