Windows platform executable version of project modified form DeepNet - OpenHero
GPU-based python implementation of
- Feed-forward Neural Nets
- Restricted Boltzmann Machines
- Deep Belief Nets
- Autoencoders
- Deep Boltzmann Machines
- Convolutional Neural Nets
Built on top of the cudamat library by Vlad Mnih and cuda-convnet library by Alex Krizhevsky.
- protobuf
- NumPy
- Scipy
- Cudamat(already included in this project)
- CUDA Toolkit 6.0
- eigen
- Downlaod the eigen library, and put anywhere(eigen_path) you like in your computer(installation is not requiered).
- Open deepnet.sln in .\deepnet_root by Visual Studio 2012, include your eigen_path into libeigenmat project.
- Build libcudamat, libcudamat_conv and libeigenmat successively. If successful, 3 dll files will be generated in your .\deepnet_root: libcudamat.dll, libcudamat_conv,dll and libeigenmat.dll. After that, add your .\deepnet_root to OS Environment Variables.
- Copy folders {eigenmat, cudamat, deepnet} in .\deepnet_root into your_python_root\Lib.
- Modify IO code in .\deepnet_root\deepnet\util.py(finished).
- pip install protobuf and NumPy(if nesseary). For protobuf, you may download the codes from Google Protobuf.
- Check your configuration: try import {eigenmat, cudamat, deepnet}.
- Download and extract the MNIST dataset from MNIST DATASET, This dataset consists of labelled images of handwritten digits as numpy files.
- cd to the .\deepnet_root\deepnet\examples dir
- Run python setup_examples.py . This will modify the example models and trainers to use the specified paths.
- There are examples of different deep learning models. Go to any one and cd to .\deepnet_root\deepnet\examples\rbm and execute "python ../../trainer.py model.pbtxt train.pbtxt eval.pbtxt" in cmd. This should start training an RBM model.
Thanks for OpenHero and HuangHeng's contribution for previous versions of this project.