jackweiwang / CNNdroid

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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}
}

About

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

License:MIT License


Languages

Language:Java 84.1%Language:RenderScript 12.9%Language:Python 1.9%Language:Lua 1.1%