Skip to content

Latest commit

 

History

History
156 lines (130 loc) · 21.7 KB

README.md

File metadata and controls

156 lines (130 loc) · 21.7 KB

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 4 billion devices! With TensorFlow 2.x, you can train a model with tf.Keras, easily convert model 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 with sample apps

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
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
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
Text Classification Download Flutter Community

Speech

Task Model App | Reference Source
Speech Recognition DeepSpeech Reference Mozilla

Model zoo

TFLite models

These are TFLite models that could be implemented in apps and things:

TensorFlow model zoo

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

Sample app ideas and projects

A list of ideas and projects - you can help by creating a tflite model ready for implementation, add a mobile app idea that needs a tflite model created, or write an end-to-end tutorial with sample code. This is also where you can seek help from the community.

End-to-end tutorials (in progress)

  • U-GAT-IT (Selfie <-> Anime) - project repo.
  • Deeplab V3 - image segmentation, which is supported by TFLite but there’s no tutorial on how to convert Deeplab v3 TF models to TFLite.
  • Mask-RCNN object detection, which is one of the most popular on-device ML use cases.
  • DeepSpeech - a very popular ASR framework.
  • Segmentation + Style Transfer - project repo.

Project ideas (help needed!)

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 plugins, SDKs & platforms

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

  • 4/20/2020 - What’s new in TensorFlow Lite from DevSummit 2020, Khanh LeViet. (link)
  • 4/17/2020 - Optimizing style transfer to run on mobile with TFLite, Khanh LeViet and Luiz Gustavo Martins. (link)
  • 4/14/2020 - How TensorFlow Lite helps you from prototype to product, Khanh LeViet. (link)
  • 11/8/2019 - Getting Started with ML on MCUs with TensorFlow, BRANDON SATROM. (link)
  • 8/5/2019 - TensorFlow Model Optimization Toolkit — float16 quantization halves model size, the TensorFlow team. (link)
  • 7/13/2018 - Training and serving a realtime mobile object detector in 30 minutes with Cloud TPUs, Sara Robinson, Aakanksha Chowdhery, and Jonathan Huang. (link)
  • 6/11/2018 - Why the Future of Machine Learning is Tiny, Pete Warden. (link)
  • 3/30/2018 - Using TensorFlow Lite on Android, Laurence Moroney. (link)

Books

YouTube videos

MOOC