/CNNdroid

Open Source Library for GPU-Accelerated Execution of Trained Deep Convolutional Neural Networks on Android

Primary LanguageJavaMIT LicenseMIT

CNNdroid

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:

@inproceedings{cnndroid2016,
 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}
}