Pocket AutoML: train a deep learning model on your phone, export in in TensorFlow Lite format, learn how to create an Android app based on it with the provided tutorial

Hello everyone!

I have completed the Deep Learning specialization, which helped me to get my first deep learning job in 2018 and I am currently doing the MLOps specialization.

I would like to share my side project with you as I hope that it can be useful or interesting for someone here.

I made an Android app called Pocket AutoML that trains a deep learning model for image classification right on your phone and made a tutorial on how to export a model from it and make your custom Android app with an exported model like e.g. an app for identifying plants or sorting lego bricks.

Some of its features:

  • Pocket AutoML lets AI enthusiasts even without any prior machine learning expertise train a deep learning image classification model, export it in TensorFlow Lite format and make a custom Android app based on it following the provided tutorial.
  • Computer vision or deep learning professionals can also use it as a tool to create a quick proof-of-concept for transfer learning on their tasks without a single line of code.
  • It trains a model right on on your device in seconds (for a dataset with dozens of images).
  • It respects your privacy: your images are never uploaded anywhere as both training and prediction happens on your device (the apps made with exported models also have the same advantages).
  • It does not need an internet connection for training and predicting (internet connection is needed for TF Lite export though).
  • Just few images per class can be enough to train a model that accurately classifies objects (what is known as few-shot learning).

Pocket AutoML does nothing magical, it just uses transfer learning, which you can use directly, as described in the end of the tutorial above, so no vendor lock is imposed.

The above mentioned app creation tutorial on GitHub includes a working example Android app that classifies images from a phone camera and steps to customize that app with your model trained in Pocket AutoML.

Since Pocket AutoML exports models in TensorFlow Lite format, they can also be used to create apps for platforms other then Android like iOS, embedded Linux devices like Raspberry Pi or Coral and microcontrollers.

You can compare this app with other no-code or low-code deep learning solutions: Create ML from Apple, Lobe from Microsoft, Teachable Machine from Google, Google AutoML Vision, Azure Custom Vision from Microsoft, TensorFlow Lite Model Maker from Google, they are either free like Pocket AutoML or have a trial period.

Moreover, Google is going to add on-device training into TensorFlow Lite “later this year”. So far there is a post and related GitHub repository, Example on-device model personalization with TensorFlow Lite in TensorFlow blog, it trains a head of a model while its backbone is frozen.

I will be glad to discuss the app here and help in case of potential technical issues with the app itself or when following the tutorial above.