Projects‎ > ‎


The aim of this project is development of GPU-based library for implementation, training and simulation of convolutional neural networks. Core library implemented in C++/CUDA with Matlab front-end through mex-files.

Current features are:

  • Training methods: Stochastic gradient, Stochastic Levenberg-Marquardt
  • Layers: Convolutional, Pooling (max, average), Fully-connected
  • Transfer functions: Linear, Tansig, Tansig_mod (variance normalized version of tansig)
  • CUDA is optional, you can compile CPU version of library, however it's not optimized at all
  • All dependencies are optional, you can compile library with or without them:
    • HDF5 for saving and loading network in this format
    • Matlab libs if you want Matlab interface
    • Boost needed for shared_ptr in case you don't want to compile lib with C++0x support
    • gtest for building tests
Library is distributed under BSD license.
Please visit library homepage for sources and more info: