Please star the repo if you find it useful…
TensorFlow Lite (TFLite) is a set of tools that help convert and optimize TensorFlow models to run on mobile and edge devices - currently running on more than 3 billion devices! With TensorFlow 2.0, you can train a model with tf.Keras, easily convert it to TFLite and deploy it; or you can download a pretrained TFLite model from the model zoo.
This is a curated list of TFLite models with sample apps, model zoo, helpful tools and learning resources. The purpose of this repo is to -
- showcase what the community has built with TFLite
- put all the samples side-by-side for easy references
- knowledge sharing and learning for everyone
Please submit a PR if you would like to contribute and follow the guidelines here.
Here are some new features recently announced at TensorFlow World:
- New MLIR-based TFLite converter - 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. Read details in this email announcement.
- TFLite Android Support Library - documentation | Sample code (Android)
- Transfer learning made easy with the Model Customization Toolkit - Colab tutorials: Image | Text
- On-device training is finally here! Currently limited to transfer learning for image classification only but it's a great start - Blog | Sample code (Android)
- Accelerating TensorFlow Lite on Qualcomm Hexagon DSPs - Blog | Documentation
Here are the TFLite models with app / device implementations, and references.
Note: pretrained TFLite 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 | Skin Lesion Detection Android | 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 |
License Plate detection | SSD MobileNet (download) | Flutter | Community |
Face detection | BlazeFace (download) | Paper | Model card | MediaPipe |
Hand detection & tracking | Download: Palm detection, 2D hand landmark, 3D hand landmark |
Blog post | Model card | MediaPipe |
Pose estimation | Posenet (download) | Android | iOS | Overview | tensorflow.org |
Segmentation | DeepLab V3 (download) | Flutter | Paper | Community |
Segmentation (Flutter Realtime) | DeepLab V3 (download) | Flutter | Paper | Community |
Segmentation | DeepLab V3 (download) | Android | iOS | Overview | tensorflow.org |
Hair Segmentation | Download | Paper | Model card | MediaPipe |
Style transfer | Download: Style prediction, Style transform |
Overview | tensorflow.org |
Task | Model | App | Reference | Source |
---|---|---|---|
Question & Answer | DistilBERT | Android | Hugging Face |
Text Generation | GPT-2 / DistilGPT2 | Android | Hugging Face |
Text Classification | Download | iOS | Community |
Task | Model | App | Reference | Source |
---|---|---|---|
Speech Recognition | DeepSpeech | Reference | Mozilla |
TFLite models that could be implemented in apps and things:
- MobileNet- pretrained MobileNet v2 and v3 models.
- TFLite models
- TensorFlow Lite models with Android and iOS examples
- TensorFlow Lite hosted models with quantized and floating point variants
- TFLite models from TensorFlow Hub
TensorFlow models that could be converted to TFLite and then implemented in apps and things:
- Official TensorFlow models
- Tensorflow detection model zoo - pre-trained on COCO, KITTI, AVA v2.1, iNaturalist Species datasets
- 3/13/2019 Computer Vision with ML Kit - Flutter In Focus - tutorial
- 2/9/219 Flutter + MLKit: Business Card Mail Extractor - tutorial | Flutter
- 2/8/2019 From TensorFlow to ML Kit: Power your Android application with machine learning - slides | Android (Kotlin)
- 8/7/2018 Building a Custom Machine Learning Model on Android with TensorFlow Lite - tutorial
- 7/20/2018 - ML Kit and Face Detection in Flutter - tutorial
- 7/27/2018 ML Kit on Android 4: Landmark Detection - tutorial
- 7/28/2018 ML Kit on Android 3: Barcode Scanning - tutorial
- 5/31/2018 ML Kit on Android 2: Face Detection - tutorial
- 5/22/2018 ML Kit on Android 1: Intro - tutorial
- Edge Impulse - helps you to train TFLite models for embedded devices in the cloud. (@EdgeImpulse)
- Fritz.ai - an ML platform that makes iOS and Android developers’ life easier: with pre-trained ML models and end-to-end platform for building and deploying custom trained models. (@fritzlabs)
- MediaPipe - a cross platform (mobile, desktop and Edge TPUs) AI pipeline by Google AI. (PM Ming Yong) | MediaPipe examples
- Coral Edge TPU - Google’s edge hardware. Coral Edge TPU examples
- Netron - for visualizing models
- AI benchmark - for benchmarking computer vision models on smartphones
- Performance benchmarks for Android and iOS
- How to design machine learning powered features - material design guidelines for ML | ML Kit Showcase App
- The People + AI Guide book - learn how to design human-centered AI products
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.
- 11/8/2019 - Getting Started with ML on MCUs with TensorFlow (link)
- 8/5/2019 - TensorFlow Model Optimization Toolkit — float16 quantization halves model size (link)
- 7/13/2018 - Training and serving a realtime mobile object detector in 30 minutes with Cloud TPUs (link)
- 6/11/2018 - Why the Future of Machine Learning is Tiny (link)
- 3/30/2018 - Using TensorFlow Lite on Android (link)
- 12/2019 - TinyML by Pete Warden (@petewarden), Daniel Situnayake (@dansitu)
- 10/2019 - Practical Deep Learning for Cloud, Mobile, and Edge by Anirudh Koul (@AnirudhKoul), Siddha Ganju (@SiddhaGanju), and Meher Kasam (@MeherKasam)
- 10/31/2019 - Keynote - TensorFlow Lite: ML for mobile and IoT devices
- 10/31/2019 - TensorFlow Lite: Solution for running ML on-device
- 10/31/2019 - TensorFlow model optimization: Quantization and pruning
- 10/29/2019 - Inside TensorFlow: TensorFlow Lite
- 4/18/2018 - TensorFlow Lite for Android (Coding TensorFlow)
- Udacity Introduction to TensorFlow Lite - by Daniel Situnayake (@dansitu), Paige Bailey (@DynamicWebPaige), and Juan Delgado
- Coursera Device-based Models with TensorFlow Lite - by Laurence Moroney (@lmoroney)