TensorFlow Lite

TensorFlow Lite ist eine Reihe von Tools, die maschinelles Lernen auf dem Gerät ermöglichen, indem sie Entwicklern helfen, ihre Modelle auf mobilen, eingebetteten und IoT-Geräten auszuführen.

Hauptmerkmale

  • Optimiert für maschinelles Lernen auf dem Gerät , indem 5 Hauptbeschränkungen berücksichtigt werden: Latenz (es gibt keinen Roundtrip zu einem Server), Datenschutz (keine persönlichen Daten verlassen das Gerät), Konnektivität (Internetverbindung ist nicht erforderlich), Größe (reduziertes Modell und Binärgröße) und Stromverbrauch (effiziente Inferenz und fehlende Netzwerkverbindungen).
  • Unterstützung mehrerer Plattformen für Android- und iOS- Geräte, eingebettetes Linux und Mikrocontroller .
  • Diverse Sprachunterstützung , einschließlich Java, Swift, Objective-C, C ++ und Python.
  • Hohe Leistung mit Hardwarebeschleunigung und Modelloptimierung .
  • End-to-End- Beispiele für gängige maschinelle Lernaufgaben wie Bildklassifizierung, Objekterkennung, Posenschätzung, Beantwortung von Fragen, Textklassifizierung usw. auf mehreren Plattformen.

Entwicklungsworkflow

Die folgende Anleitung führt Sie durch die einzelnen Schritte des Workflows und enthält Links zu weiteren Anweisungen:

1. Generieren Sie ein TensorFlow Lite-Modell

Ein TensorFlow Lite-Modell wird in einem speziellen effizienten tragbaren Format dargestellt, das als FlatBuffers bezeichnet wird (gekennzeichnet durch die Dateierweiterung .tflite ). Dies bietet mehrere Vorteile gegenüber dem Protokollpuffermodellformat von TensorFlow, wie z. B. eine geringere Größe (geringer Code-Footprint) und eine schnellere Inferenz (auf Daten wird ohne zusätzlichen Schritt zum Parsen / Entpacken direkt zugegriffen), sodass TensorFlow Lite auf Geräten mit begrenzten Rechen- und Speicherressourcen effizient ausgeführt werden kann .

Ein TensorFlow Lite-Modell kann optional Metadaten enthalten , die eine vom Menschen lesbare Modellbeschreibung und maschinenlesbare Daten für die automatische Generierung von Pipelines vor und nach der Verarbeitung während der Inferenz auf dem Gerät enthalten. Weitere Informationen finden Sie unter Hinzufügen von Metadaten .

Sie können ein TensorFlow Lite-Modell auf folgende Arten generieren:

  • Verwenden eines vorhandenen TensorFlow Lite-Modells: Informationen zum Auswählen eines vorhandenen Modells finden Sie unter TensorFlow Lite-Beispiele . Modelle können Metadaten enthalten oder nicht.

  • Erstellen eines TensorFlow Lite-Modells: Verwenden Sie den TensorFlow Lite Model Maker , um ein Modell mit Ihrem eigenen benutzerdefinierten Dataset zu erstellen. Standardmäßig enthalten alle Modelle Metadaten.

  • Konvertieren eines TensorFlow-Modells in ein TensorFlow Lite-Modell: Verwenden Sie den TensorFlow Lite-Konverter , 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 die Latenz bei minimalem oder keinem Genauigkeitsverlust zu reduzieren. Standardmäßig enthalten alle Modelle keine Metadaten.

2. Führen Sie Inference aus

Inferenz bezieht sich auf den Prozess der Ausführung eines TensorFlow Lite-Modells auf dem Gerät, um Vorhersagen basierend auf Eingabedaten zu treffen. Sie können die Inferenz basierend auf dem Modelltyp auf folgende Arten ausführen:

Auf Android- und iOS-Geräten können Sie die Leistung mithilfe der Hardwarebeschleunigung verbessern. Auf beiden Plattformen können Sie einen GPU-Delegaten verwenden , auf Android können Sie entweder den NNAPI-Delegaten (für neuere Geräte) oder den Hexagon-Delegaten (auf älteren Geräten) und unter iOS den Core ML-Delegaten verwenden . Um die Unterstützung für neue Hardwarebeschleuniger hinzuzufügen, können Sie Ihren eigenen Delegaten definieren .

Loslegen

Sie können sich auf die folgenden Anleitungen beziehen, die auf Ihrem Zielgerät basieren:

Technische Einschränkungen

  • Alle TensorFlow-Modelle können nicht in TensorFlow Lite-Modelle konvertiert werden. Weitere Informationen finden Sie unter Bedienerkompatibilität .

  • Nicht unterstütztes On-Device-Training , jedoch auf unserer Roadmap .