/tflite-mnist-android

MNIST with TensorFlow Lite on Android

Primary LanguageKotlin

MNIST with TensorFlow Lite on Android

Open In Colab

This project demonstrates how to use TensorFlow Lite on Android for handwritten digits classification from MNIST.

Prebuilt APK can be downloaded from here.

How to build from scratch

Environment

  • Python 3.7
  • tensorflow 2.3.0
  • tensorflow-datasets 3.2.1

Step 1. Train and convert the model to TensorFlow Lite FlatBuffer

Run all the code cells in model.ipynb.

  • If you are running Jupyter Notebook locally, a mnist.tflite file will be saved to the project directory.
  • If you are running the notebook in Google Colab, a mnist.tflite file will be downloaded.

Step 2. Build Android app

Copy the mnist.tflite generated in Step 1 to /android/app/src/main/assets, then build and run the app. A prebuilt APK can be downloaded from here.

The Classifer reads the mnist.tflite from assets directory and loads it into an Interpreter for inference. The Interpreter provides an interface between TensorFlow Lite model and Java code.

If you are building your own app, remember to add the following code to build.gradle to prevent compression for model files.

aaptOptions {
    noCompress "tflite"
    noCompress "lite"
}

Credits