Was ist TensorFlow Lite und wie ist es ein Deep Learning Framework?
Möglicherweise sind Sie auf TensorFlow Lite gestoßen, als Sie Edge AI-Entwicklungsboards oder AI-Beschleunigungsprojekte durchlaufen haben.
TensorFlow Lite ist ein Framework aus Softwarepaketen, das ML-Training lokal auf der Hardware ermöglicht. Diese Verarbeitung und Berechnung auf dem Gerät ermöglicht es Entwicklern, ihre Modelle auf gezielter Hardware auszuführen. Die Hardware umfasst Entwicklungskarten, Hardwaremodule, eingebettete und IoT-Geräte.
Übersicht über das TensorFlow Lite Framework
TensorFlow ist ein beliebter Begriff im Deep Learning, da viele ML-Entwickler dieses Framework für verschiedene Anwendungsfälle verwenden. Es bietet die einfache Implementierung von Modellen und Schlussfolgerungen für maschinelles Lernen für KI-Anwendungen.
TensorFlow Lite ist jedoch ein Deep-Learning-Framework für lokale Inferenz, insbesondere für Hardware mit geringem Rechenaufwand. Es ermöglicht maschinelles Lernen auf dem Gerät, indem es Entwicklern hilft, ihre Modelle auf kompatibler Hardware und IoT-Geräten auszuführen.
Ein Entwickler muss je nach Anwendungsfall ein geeignetes Modell auswählen. Das Framework bietet auch die Möglichkeit, das vorhandene Modell in einem benutzerdefinierten Dataset neu zu trainieren. Da das Protokollpuffermodell von TensorFlow eine große Größe hat und erweiterte Rechenleistung erfordert, ermöglicht es die Konvertierung des TensorFlow-Modells in das TensorFlow Lite-Modell.
Die Anpassung der Optimierungs- und Quantisierungsparameter ermöglicht die Reduzierung der Modellgröße und der Latenz.
Abgesehen von den Latenz- und Größenvorteilen von TensorFlow Lite bietet das Framework die Sicherheit von Daten, da das Training lokal auf dem Gerät stattfindet. Darüber hinaus ist keine Internetverbindung erforderlich. Daher ist die Bereitstellung von Anwendungen nicht auf bestimmte Bereiche mit Konnektivität beschränkt.
Diese Faktoren reduzieren letztendlich die Stromverbrauchslast des Geräts, indem sie den Konnektivitätsfaktor eliminieren und die Effizienz der Deep-Learning-Inferenz erhöhen.
Modelle des TensorFlow Lite-Frameworks existieren in einem plattformübergreifenden Format, das als FlatBuffers bezeichnet wird. Es handelt sich um eine Serialisierungsbibliothek, die hierarchische Daten in einem flachen Binärpuffer speichert, sodass ein direkter Zugriff ohne Entpacken möglich ist. Sie können auch die Erweiterung „.tflite“ für die TensorFlow Lite-Modelle beobachten. Diese Darstellungstechnik ermöglicht Optimierungen bei Berechnungen und reduziert den Speicherbedarf. Daher ist es viel besser als TensorFlow-Modelle
TinyML auf TensorFlow Lite Micro
Da TensorFlow Lite mit verschiedenen Plattformen für Edge AI-Anwendungen kompatibel ist, musste die Bibliothek weiter konvergiert werden. Daher entwickelte die Organisation eine Teilmengenbibliothek des TensorFlow Lite, bekannt als TensorFlow Lite Micro. TensorFlow Lite Micro führt speziell maschinelle Lernmodelle auf Mikrocontrollern lokal mit einem Mindestspeicherbedarf von einigen Kilobyte aus.
Die Kernlaufzeit des Verfahrens ist in 16 KB auf einem Arm Cortex M3 integriert und kann auf verschiedenen Modellen verwendet werden. Das Framework erfordert keine zusätzliche Betriebssystemunterstützung oder andere Hochsprachenbibliotheken als Abhängigkeiten für die Ausführung der Inferenz auf dem Gerät.
Die Entwicklung des TensorFlow Lite Micro basiert auf C ++ 11, das aus Kompatibilitätsgründen eine 32-Bit-Architektur benötigt. Wenn Sie mehr über die Architekturen sprechen, funktioniert die Bibliothek auf einer robusten Reihe von Prozessoren, die auf der Architektur der Arm Cortex-M-Serie basieren, mit anderen Designarchitekturen wie ESP32 einwandfrei .
Arbeitsablauf für TensorFlow Lite Micro-Anwendungsfälle
Der Trainingsprozess des neuronalen Netzwerks erfordert eine hohe Rechenhardware. Daher wird es auf dem allgemeinen TensorFlow-Modell trainiert. Eine Schulung ist jedoch nur erforderlich, wenn ein benutzerdefinierter Datensatz zu einem Deep-Learning-Modell passt, während vorab trainierte Modelle des Frameworks auch für die Anwendungen verwendet werden können.
Unter der Annahme eines benutzerdefinierten Anwendungsfalls mit dem anwendungsspezifischen Dataset trainiert der Benutzer das Modell auf dem allgemeinen TensorFlow-Framework mit hoher Verarbeitungskapazität und Architektur. Nach Abschluss des Trainings überprüft die Modellbewertung mithilfe von Testtechniken die Genauigkeit und Zuverlässigkeit des Modells. Anschließend wird das TensorFlow-Modell in ein hardwarekompatibles TensorFlow Lite-Modell im .tflite-Format konvertiert.
Das .tflite-Format ist eine flache Pufferdatei, die dem TensorFlow Lite-Framework und kompatibler Hardware gemeinsam ist. Das Modell kann ferner zum Inferenztraining für die auf dem Modell empfangenen Echtzeitdaten verwendet werden. Das Inferenztraining optimierte die Modelle für robuste Anwendungsfälle. Daher ist die Option des Inferenztrainings für Edge- AI-Anwendungen von entscheidender Bedeutung .
Die meisten Firmware-Versionen des Mikrocontrollers unterstützen das native Dateisystem zum direkten Einbetten des Flat Buffer-Formats des TensorFlow Lite-Modells nicht. Daher ist die Konvertierung der .tflite-Datei in ein Array-Strukturformat erforderlich, das mit den Mikrocontrollern kompatibel ist.
Das Einfügen des Programms in das C-Array, gefolgt von einer normalen Kompilierung, ist eine einfache Technik für eine solche Konvertierung. Das resultierende Format fungiert als Quelldatei und besteht aus einem Zeichenarray, das mit den Mikrocontrollern kompatibel ist.
Geräte, die TensorFlow Lite Micro unterstützen
TensorFlow Lite ist für leistungsstarke Geräte geeignet, hat jedoch den Nachteil, dass der Prozessor eine größere Arbeitslast aufweist. Obwohl der TensorFlow Lite Micro über Dateien mit geringer Größe verfügt, die zu einer Unteranpassung neigen, kann die Optimierung der Dateigröße, die in den Speicher passt, die Ausgabe für Hardware mit geringem Stromverbrauch und geringer Verarbeitung wie Mikrocontroller erheblich verbessern.
Hier ist die Liste der Entwicklungsboards aus der offiziellen TensorFlow-Dokumentation, die TensorFlow Lite Micro unterstützt:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- STM32F746 Discovery Kit
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite für Mikrocontroller-Kit
- Adafruit Circuit Spielplatz Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio-Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI-Entwicklungsboard
Das TensorFlow Lite Micro ist auch als Arduino-Bibliothek zur erweiterten Unterstützung von Mikrocontrollern erhältlich. Es kann auch Projekte für Hardwareentwicklungsumgebungen erstellen, die Mbed ähnlich sind.
TensorFlow Lite bietet viel
Das TensorFlow Lite Deep Learning Framework eröffnet die Möglichkeiten für eine Reihe von Edge-AI-Anwendungen. Da das Framework für KI-Enthusiasten Open Source ist, wird es durch die Community-Unterstützung für Anwendungsfälle des maschinellen Lernens noch beliebter. Die Gesamtplattform von TensorFlow Lite verbessert die Umgebung für das Wachstum von Edge-Anwendungen für Embedded- und IoT-Geräte
Darüber hinaus gibt es verschiedene Beispiele für Anfänger, die sie bei den praktischen Anwendungsfällen des Frameworks unterstützen. Einige dieser Beispiele umfassen die Personenerkennung in Abhängigkeit von den vom Bildsensor der Entwicklungsplatine erfassten Daten und dem Standard-Hallo-Welt-Programm für alle Entwicklungsplatinen. Die Beispiele umfassen auch Anwendungen wie Gestenerkennung und Spracherkennung für bestimmte Entwicklungsplatinen.
Weitere Informationen zu TensorFlow Lite und TensorFlow Lite Micro finden Sie auf der offiziellen Dokumentationsseite der Organisation. Es gibt viele konzeptionelle und Tutorial-Abschnitte zum besseren Verständnis des Frameworks.