Open Source Library for GPU-Accelerated Execution of Trained Deep Convolutional Neural Networks on Android
Java RenderScript Python Lua
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Android Studio Project Template Updated Template Oct 27, 2016
CNNdroid Source Package Set the level of floating point precision to relaxed in the Renderscr… Mar 1, 2017
Demo Android Applications
NetFile Examples Update NIN_def.txt Aug 8, 2016
Parameter Generation Scripts Added Script Deployment Examples May 22, 2016
Virtual Machine(ACM mm'16) Update Aug 18, 2016
CNNdroid Complete Developers Guide and Installation Instruction.pdf Updated Supported Layers Glossary section Mar 1, 2017
LICENSE Update LICENSE Aug 1, 2016 Update Dec 16, 2016


CNNdroid is an open source library for execution of trained convolutional neural networks on Android devices. The main highlights of CNNdroid are as follows:

  • Support for nearly all CNN layer types.
  • Compatible with CNN models trained by common desktop/server libraries, namely, Caffe, Torch and Theano (Developers can easily convert the trained models to CNNdroid format using the provided scripts).
  • Easy to configure and integrate into any Android app in Android SDK without additional software requirements.
  • User-specified maximum memory usage.
  • GPU or CPU acceleration of supported CNN layers.
  • Automatic tuning of performance.
  • Up to 60X speedup and up to 130X energy saving on current mobile devices.

For more information about the library and installation guide, please refer to the [user guide](CNNdroid Complete Developers Guide and Installation Instruction.pdf).

Please cite CNNdroid in your publications if it helps your research:

 author = {Latifi Oskouei, Seyyed Salar and Golestani, Hossein and Hashemi, Matin and Ghiasi, Soheil},
 title = {CNNdroid: GPU-Accelerated Execution of Trained Deep Convolutional Neural Networks on Android},
 booktitle = {Proceedings of the 2016 ACM on Multimedia Conference},
 series = {MM '16},
 year = {2016},
 location = {Amsterdam, The Netherlands},
 pages = {1201--1205}