Skip to content

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

License

Notifications You must be signed in to change notification settings

carloshvp/awesome-tflite

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published