TensorFlow Lite is a set of tools that help convert and optimize TensorFlow models to run on mobile and edge devices. It’s currently running on more than 4 billion devices! With TensorFlow 2.x, you can train a model with tf.Keras, easily convert a model to .tflite and deploy it; or you can download a pretrained TensorFlow Lite model from the model zoo.
This is an awesome list of TensorFlow Lite models with sample apps, helpful tools and learning resources - * Showcase what the community has built with TensorFlow Lite * Put all the samples side-by-side for easy reference * Share knowledge and learning resources
Please submit a PR if you would like to contribute and follow the guidelines here.
Here are the new features and tools of TensorFlow Lite: * Announcement of the new converter - MLIR-based and enables conversion of new classes of models such as Mask R-CNN and Mobile BERT etc., supports functional control flow and better error handling during conversion. Enabled by default in the nightly builds. * Android Support Library - Makes mobile development easier (Android sample code). * Model Maker - Create your custom image & text classification models easily in a few lines of code. See below the Icon Classifier for a tutorial by the community. * On-device training - It is finally here! Currently limited to transfer learning for image classification only but it’s a great start. See the official Android sample code and another one from the community (Blog | Android). * Hexagon delegate - How to use the Hexagon Delegate to speed up model inference on mobile and edge devices. Also see blog post Accelerating TensorFlow Lite on Qualcomm Hexagon DSPs. * Model Metadata - Provides a standard for model descriptions which also enables Code Gen and Android Studio ML Model Binding.
Here are the TensorFlow Lite models with app / device implementations, and references. Note: pretrained TensorFlow Lite models from MediaPipe are included, which you can implement with or without MediaPipe.
Task | Model | App | Reference | Source |
---|---|---|---|
Classification | MobileNetV1 (download) | Android | iOS | Raspberry Pi | Overview | tensorflow.org |
Classification | MobileNetV2 | Recognize Flowers on Android Codelab | Android | TensorFlow team |
Classification | MobileNetV2 | Skin Lesion Detection Android | Community |
Classification | MobileNetV2 | American Sign Language Detection | Colab Notebook | Android | Community |
Classification | CNN + Quantisation Aware Training | Stone Paper Scissor Detection Colab Notebook | Flutter | Community |
Classification | EfficientNet-Lite0 (download) | Icon Classifier Colab & Android | tutorial 1 | tutorial 2 | Community |
Object detection | Quantized COCO SSD MobileNet v1 (download) | Android | iOS | Overview | tensorflow.org |
Object detection | YOLO | Flutter | Paper | Community |
Object detection | MobileNetV2 SSD (download) | Reference | MediaPipe |
Object detection | MobileDet (Paper) | Blog post (includes the TFLite conversion process) | MobileDet is from University of Wisconsin-Madison and Google and the blog post is from the Community |
License Plate detection | SSD MobileNet (download) | Flutter | Community |
Face detection | BlazeFace (download) | Paper | MediaPipe |
Face Authentication | FaceNet | Flutter | Community |
Hand detection & tracking | Palm detection & hand landmarks (download) | Blog post | Model card | Android | MediaPipe & Community |
Pose estimation | Posenet (download) | Android | iOS | Overview | tensorflow.org |
Segmentation | DeepLab V3 (download) | Android & iOS | Overview | Flutter Image | Realtime | Paper | tf.org & Community |
Segmentation | Different variants of DeepLab V3 models | Models on TF Hub with Colab Notebooks | Community |
Hair Segmentation | Download | Paper | MediaPipe |
Style transfer | Arbitrary image stylization | Overview | Android | Flutter | tf.org & Community |
Style transfer | Better-quality style transfer models in .tflite | Models on TF Hub with Colab Notebooks | Community |
GANs | U-GAT-IT (Selfie2Anime) | Project repo | Android | Tutorial | Community |
GANs | White-box CartoonGAN (download) | Project repo | Android | Tutorial | Community |
Video Style Transfer |
Download: Dynamic range models) |
Android | Tutorial | Community |
Segmentation & Style transfer | DeepLabV3 & Style Transfer models | Project repo | Android | Tutorial | Community |
Low-light image enhancement | Models on TF Hub | Project repo | Original Paper | Flutter | |
Text Detection | CRAFT Text Detector (Paper) | Download | Project Repository | Blog1-Conversion to TFLite | Blog2-EAST vs CRAFT | Models on TF Hub | Android (Coming Soon) | Community |
Text Detection | EAST Text Detector (Paper) | Models on TF Hub | Conversion and Inference Notebook | Community |
Image Extrapolation | Models on TF Hub | Colab Notebook | Original Paper | Community |
OCR | Models on TF Hub | Project Repository | Community |
Task | Model | Sample apps | Source |
---|---|---|---|
Question & Answer | DistilBERT | Android | Hugging Face |
Text Generation | GPT-2 / DistilGPT2 | Android | Hugging Face |
Text Classification | Download | Android |iOS | Flutter | tf.org & Community |
Task | Model | App | Reference | Source |
---|---|---|---|
Speech Recognition | DeepSpeech | Reference | Mozilla |
Speech Synthesis | Tacotron-2, FastSpeech2, MB-Melgan | Android | TensorSpeech |
Speech Synthesis(TTS) | Tacotron2, FastSpeech2, MelGAN, MB-MelGAN, HiFi-GAN, Parallel WaveGAN | Inference Notebook | Project Repository | Community |
Task | Model | App | Reference | Source |
---|---|---|---|
On-device Recommendation | Dual-Encoder | Android | iOS | Reference | tf.org & Community |
Task | Model | App | Reference | Source |
---|---|---|---|
Game agent | Reinforcement learning | Flutter | Tutorial | Community |
These are the TensorFlow Lite models that could be implemented in apps and things: * MobileNet - Pretrained MobileNet v2 and v3 models. * TensorFlow Lite models * TensorFlow Lite models - With official Android and iOS examples. * Pretrained models - Quantized and floating point variants. * TensorFlow Hub - Set “Model format = TFLite” to find TensorFlow Lite models.
These are TensorFlow models that could be converted to .tflite and then implemented in apps and things: * TensorFlow models - Official TensorFlow models. * Tensorflow detection model zoo - Pre-trained on COCO, KITTI, AVA v2.1, iNaturalist Species datasets.
ML Kit is a mobile SDK that brings Google’s ML expertise to mobile developers. * 2019-10-01 ML Kit Translate demo - A tutorial with material design Android (Kotlin) sample - recognize, identify Language and translate text from live camera with ML Kit for Firebase. * 2019-03-13 Computer Vision with ML Kit - Flutter In Focus. * 2019-02-09 Flutter + MLKit: Business Card Mail Extractor - A blog post with a Flutter sample code. * 2019-02-08 From TensorFlow to ML Kit: Power your Android application with machine learning - A talk with Android (Kotlin) sample code. * 2018-08-07 Building a Custom Machine Learning Model on Android with TensorFlow Lite. * 2018-07-20 ML Kit and Face Detection in Flutter. * 2018-07-27 ML Kit on Android 4: Landmark Detection. * 2018-07-28 ML Kit on Android 3: Barcode Scanning. * 2018-05-31 ML Kit on Android 2: Face Detection. * 2018-05-22 ML Kit on Android 1: Intro.
Interested but not sure how to get started? Here are some learning resources that will help you whether you are a beginner or a practitioner in the field for a while.