/awesome-tflite

A curated list of awesome TensorFlow Lite models, samples, tutorials, tools and learning resources.

MIT LicenseMIT

Please star the repo if you find it useful…

Awesome TFLite Awesome PRs Welcome Twitter

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.

New features

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. It is now enabled by default in the nightly builds - see details in the updated & initial announcements.
  • TFLite Android Support Library - documentation | Sample code (Android)
  • Create your custom classification models easily with the TFLite Model Maker (model customization API) - Colab tutorials for 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). Here is an example from the community - on-device activity recognition for next-generation privacy-preserving personal informatics apps - Blog | Android. Leverage transfer learning for efficiently training context sensing models directly on the Android device without the need for sending data to the server.
  • Accelerating TensorFlow Lite on Qualcomm Hexagon DSPs - Blog | Documentation

TFLite models

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.

Computer vision

Task Model App | Reference Source
Classification MobileNetV1 (download) Android | iOS | Raspberry Pi | Overview tensorflow.org
Classification MobileNetV2 Recognize Flowers with TFLite on Android Codelab | Android TensorFlow team
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 | Android tensorflow.org

Text

Task Model App | Reference Source
Question & Answer DistilBERT Android Hugging Face
Text Generation GPT-2 / DistilGPT2 Android Hugging Face
Text Classification Download Android tensorflow.org
Text Classification Download iOS Community

Speech

Task Model App | Reference Source
Speech Recognition DeepSpeech Reference Mozilla

TFLite model zoo

TFLite models that could be implemented in apps and things:

TensorFlow model zoo

TensorFlow models that could be converted to TFLite and then implemented in apps and things:

ML Kit examples

ML Kit is a mobile SDK that brings Google's ML expertise to mobile devs.

  • 10/1/2019 ML Kit Translate demo with material design - recognize, identify Language and translate text from live camera with ML Kit for Firebase - Codelab | Android (Kotlin).
  • 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.

Other SDKs, platforms & hardware

Helpful links

Learning resources

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.

Documentation

  • TensorFlow Lite documentation (link)
  • TensorFlow Lite for Microcontrollers documentation (link)

Blog posts

  • 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)

Books

YouTube videos

MOOC