DeepNet with CUDA

In this project, Shaoguang Cheng implement a deep learning toolbox (DeepNet) including RBM, DBN, Multi-modal DBN with Python, in which the majority of matrix operations are carried on GPU by using the Cudamat to speed up the calculation process. There are some examples to show how to use this package.

This project make some references to the matlab code in https://github.com/dmus/API-Project. However, in comparison with the matlab code, our version improves the performance 25 times (test on the Mnist data).

The source code and data can be download at: https://github.com/shaoguangcheng/DeepNet

1. Requirements

2. Usage

To use the toolbox, following steps are needed.

(1) compile the Cudamat library :

 cd (directory to DeepNet)
 cd DeepNet/RBM/cudamat/
 Make (note : correct path to gcc-4.6 or below version compiler should be given in Makefile)

(2) change directory to RBM/, then set the DEEPNET_PATH variable in set_env.sh file to the RBM/ path in your computer

(3) run command :

 source set_env.sh

(4) We provide some demo programs in this toolbox.

(a) RBM and DBN demos

For RBM and DBN demos, we use Mnist data, which has been contained in our toolbox. To run these demos, you should first uncompress the data in example/.

 cd example/
 tar -xzvf mnist_data.tar.gz
 python rbmDemo.py

or

 python DBNdemo.py

For help information, run

 python rbmDemo.py --help

or

 python DBNdemo.py --help

(b) Multi-modal DBN demo

For multi-modal demo, we employ SHREC 2007 feature data to show the usage. How the data is generated has been elaborated in paper "Multi-modal Feature Fusion for 3D Shape Recognition and Retrieval". To run this demo, change directory to multi-modal_demo/ and run

 python multiModalityDemo.py

For help information, run

 python multiModalityDemo.py --help

3. Platform

This code is only tested on Linux mint-16 64-bit.

4. Contact

If you have any question about this code, please contact Shaoguang Cheng directly. His E-mail: chengshaoguang1291 # gmail.com.