/Machine Learning: Google bringt TensorFlow Lite für Android und iOS

Machine Learning: Google bringt TensorFlow Lite für Android und iOS

Machine Learning: Google bringt TensorFlow Lite für Android und iOS

Die schlanke Variante des Open-Source-Frameworks bringt Machine Learning auf mobile Endgeräte und Embedded Devices. Zum Start gibt es Anbindungen für iOS und Android.

Die Macher von TensorFlow haben eine speziell auf den Einsatz auf Mobilgeräten und Embedded Devices zugeschnittene Variante der von Google vorangetriebenen Machine-Learning-Bibliothek veröffentlicht. TensorFlow Lite ist besonders schlank und im ersten Schritt auf den Einsatz auf Android und iOS vorbereitet. Die Bibliothek zielt auf den Einsatz trainierter Modelle, nicht das weit rechenintensivere Training der Modelle.

Auf Android nutzt TensorFlow Lite sofern vorhanden die Neural Network API (NNAPI), eine C-API, die seit Version 8.1 von Googles mobilem Betriebssystem in Android enthalten ist. Sie bietet Basisfunktionen, um Berechnungen von Machine-Learning-Frameworks zu optimieren und die GPU für Berechnungen zu nutzen. Fehlt eine passende Hardware, greift TensorFlow Lite auf die CPU zurück.

Die Architektur von TensorFlow Lite setzt sich aus einem plattformunabhängigen Stack und plattformspezifischen Implementierungen zusammen. Ersterer besteht aus einem trainierten TensorFlow-Modell und einem Programm zum Konvertieren des Modells in das TensorFlow-Lite-Dateiformat. Die erstellten tflite-Dateien bauen auf FlatBuffers auf, einer Serialisierungs-Bibliothek, die ursprünglich von Google stammt und auf hohe Performance optimiert ist.

Zum Start von TensorFlow Lite existieren Implementierungen für Android und iOS. Beide bieten eine C++-API, und Googles Betriebssystem hat zusätzlich eine Java-Schnittstelle, die ein Wrapper der C++-Anbindung ist. Die Ausführung übernimmt jeweils der Interpreter, der das Modell ausführt und dafür auf Operatoren zugreift. Letztere lassen sich einzeln bei Bedarf laden. Ohne Operatoren ist der Interpreter 70 kByte groß, mit dem vollen Satz an Operatoren kommt er auf 300 kByte. Zum Vergleich: Die bisher für den mobilen Einsatz vorgesehene Bibliothek TensorFlow Mobile umfasst 1,5 MByte. Mit der C++-API können Entwickler zusätzlich eigene optimierte Kernels erstellen.


Die Modellebene ist plattformunabhängig, und derzeit existieren APIs und Interpreter für iOS und Android.

Die Modellebene ist plattformunabhängig, und derzeit existieren APIs und Interpreter für iOS und Android.

(Bild: Google
)

Zum Start existieren drei vorgefertigte Modelle, die typische Anforderungen abdecken. MobileNets sind unterschiedliche Modellklassen für die visuelle Erkennung, um unter anderem in Bildern Objekte zu klassifizieren oder Wahrzeichen zu erkennen. Auch Inception v3 dient der Bildanalyse und bietet eine höhere Genauigkeit, ist aber gleichzeitig größer. Beide visuelle Systeme bringen Trainingsdaten aus dem ImageNet-Datensatz mit, lassen sich aber auch mit eigenen Bildsätzen trainieren. Smart Reply ist ein Konversations-Modell und hilft beim schnellen Beantworten von Chat-Nachrichten unter anderem auf Android-Wear-Geräten.

Weitere Details lassen sich Googles Entwicklerblog entnehmen. Derzeit hat TensorFlow Lite den Status einer Developer Preview. Mittelfristig soll es TensorFlow Mobile ersetzen. Der Blogbeitrag nennt TensorFlow Lite die Evolution von TensorFlow Mobile. Derzeit ist TensorFlow Lite aber noch arg eingeschränkt. Somit bleibt TensorFlow Mobile zunächst die empfohlene API für den produktiven Einsatz.


(rme)