Adventures-in-TensorFlow-Lite

172

34

Sayak Paul

Added on September 14, 2024

The repository is a collection of Colab Notebooks demonstrating non-trivial model conversion workflows in TensorFlow Lite.

Adventures-in-TensorFlow-Lite

The repository is a collection of Colab Notebooks demonstrating non-trivial model conversion workflows in TensorFlow Lite.

Sayak Paul

README.md

This repository contains notebooks that show the usage of TensorFlow Lite (TF Lite) for quantizing deep neural networks in TensorFlow 2. It is currently under active development so, there might be some inconsistencies in the description below.



About the notebooks

  • A_tale_of_quantization.ipynb: A comprehensive notebook showing different ways to quantize a model in tf.keras (with fine-tuning). It includes both quantization-aware training as well as post-training quantization. This notebook is accompanied by this report that has some additional details and performance considerations. The notebook is best referred with this report.
  • Custom_Image_Classification_EdgeTPU.ipynb: It shows how to use post-training quantization with a representative dataset to calibrate the dynamic ranges of activations. It also shows how to quantize the model in a way that is compatible with an Edge TPU USB Accelerator.
  • DeepLabV3/DeepLab_TFLite_*.ipynb: These notebooks show how to convert several DeepLabV3 based segmentation models (trained on the PASCAL VOC 2012, ADE20k, and CityScapes datasets) to TF Lite and run inference with them.
  • ESRGAN_TFLite.ipynb: Shows how to run inference with this ESRGAN module from TF Hub, convert it to TF Lite, run inference with the model. A bonus includes running inference with a distilled version of the main model (only 33 KB).
  • Magenta_arbitrary_style_transfer_model_conversion.ipynb: Shows to how apply apply different post-training quantization schemes to the arbitrary style transfer model provided by Magenta. This generates image stylization models that produce higher-quality images than these ones. Inference notebook is available here - Style_Transfer_Demo_InceptionV3.ipynb. Additionally, in this notebook you can find how to run inference with the same TF Lite models but with dynamic shape support: Style_Transfer_Demo_InceptionV3_Dynamic_Shape.ipynb.
  • Model_Pruning_in_Deep_Learning_with_tfmot.ipynb: Shows how to use the pruning APIs of TensorFlow Model Optimization toolkit along with TF Lite.
  • Selfie2Anime_TFLite(50_Checkpoints).ipynb: Shows how to convert the UGATIT model (also known as Selfie2Anime GAN) to TF Lite. Inference notebook is available here. Here's a multi-part tutorial of this project - Part I, Part II, Part III. This was jointly done with Margaret.
  • Semantic_Segmentation_+_Background_Removal_+_Style_Transfer.ipynb: Presents a demo on how to use multiple TF Lite models to run segmentation, remove background, and apply stylization.
  • Style_Transfer_Demo.ipynb & Style_Transfer_Demo_InceptionV3.ipynb: Present interactive image stylization demos.
  • TUNIT_Conversion_to_TF_Lite.ipynb: Shows the PyTorch -> TF Lite model conversion worflow (this is currently buggy).
  • CartoonGAN_TFLite.ipynb: Shows to how to convert the CartoonGAN model (proposed here) to a TF Lite model. Includes how to run inference as well. Here's the official TensorFlow blog in case you are interested to know more.
  • EAST_TFLite.ipynb: Shows how to convert the famous EAST model for text detection to TensorFlow Lite.
  • Boundless_TFLite.ipynb: Shows how to convert the famous Boundless model for image extrapolation to TensorFlow Lite.

References

Accompanying materials

Find the models on TF Hub

https://tfhub.dev/s?publisher=sayakpaul

Other notable repositories covering similar things

Acknowledgements

Related Content

annotated_research_papers

Reading research papers is a crucial part of work in machine learning. Annotating papers often helps to understand them better. This is an effort to make papers more accessible to a wider community
GitHubUpdated 2 months ago

Teaching Data Science

Repository for LaTeX course notes for Python, Machine Learning, Deep Learning, Natural Language Processing, etc. Core content is in the form for Beamer slides, which in turn can get compiled into presentation mode as well as two-column course notes mode.
GitHubUpdated 3 months ago

machine_learning_complete

This is a comprehensive repository containing 30+ notebooks on Python programming, data manipulation, data analysis, data visualization, data cleaning, classical machine learning, Computer Vision and Natural Language Processing(NLP).
GitHubUpdated 18 months ago

PixPlot

PixPlot combines Tensorflow and WebGL to visualize large image collections in an interactive web environment.
GitHubUpdated 23 months ago

TF-2.0-Hacks

The repository consists of Jupyter Notebooks exploring different features of TensorFlow 2.
GitHubUpdated 32 months ago

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.