tflite-mnist-android

Additional

Language
Kotlin
Version
v1.0.0 (Mar 12, 2018)
Created
Mar 9, 2018
Updated
Sep 16, 2020 (Retired)
Owner
Tianxing Li (nex3z)
Contributor
Tianxing Li (nex3z)
1
Activity
Badge
Generate
Download
Source code

MNIST with TensorFlow Lite on Android

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