Google has released the developer preview of TensorFlow Lite. The search giant designed TensorFlow Lite as a lightweight machine learning solution for embedded systems and mobile devices like smartphones and tablets. Since it runs the same code as the version of TensorFlow that runs on the Google Cloud Platform, the machine learning models trained on the cloud can be incorporated into Android apps without the need to massively modify the model's code. Among the possible applications for this solution is in the development of imaging and voice models, that together may result in a more natural interaction with mobile and embedded devices.
There are three major components of the TensorFlow Lite architectural design, namely the TensorFlow Model, the TensorFlow Lite converter, and the TensorFlow Lite Model file. A trained TensorFlow Model is stored in a disk, whether in a separate computer or in the cloud. The model will then be converted to a format that could be used in Android applications using the TensorFlow Lite converter. This converter is optimized for mobile devices, which should improve the performance of applications and also reduce its sizes. The TensorFlow Lite Model file utilizes an open-source format dubbed as the "FlatBuffers". This file format is compatible with both Android and iOS and it significantly reduces the size of the generated code when compared to protocol buffers. On select devices, the model will utilize the Android Neural Networks API in order to accelerate its processing on the mobile device. Using the API results in reduced latency and costs despite the significantly faster processing of the model.
As a part of the developer preview, Google is giving developers several pre-tested models, including computer vision models like Inception V3 and MobileNets, as well as On Device Smart Reply, a model that provides suggestions on what to reply to messages received. Also available to the developers is a demo Android app that demonstrates how a MobileNet model running on TensorFlow Lite can be used to classify objects. In the near future, Google hopes to make its machine learning solution compatible with more models and to simplify the developer's experiences in creating models for mobile devices.