1、下载Deepnet,解压并仔细阅读目录下的INSTALL.txt文件。
2、安装Numpy和nose,如在终端上执行:
$ sudo apt-get install python3-numpy
3、安装CUDA
4、设置关于CUDA的环境变量,修改文件,如在~/.bashrc 中添加如下内容:
export CUDA_BIN=/usr/local/cuda-5.0/bin
export CUDA_LIB=/usr/local/cuda-5.0/lib64
export PATH=${CUDA_BIN}:$PATH
export LD_LIBRARY_PATH=${CUDA_LIB}:$LD_LIBRARY_PATH
6、下载、编译安装Protocol Buffers
下载2.5.0版,解压并在目录底下安装编译
$ ./configure
$ make
$ make check
$ make install
$ sudo mkdir google/protobuf/compiler
$sudo python setup.py install
在~/.bashrc 末尾中添加以下内容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
7、到cudamat目录下用make命令编译cudamat并测试examples下的py例子是否完全可以运行,测试nn_cudamat.py发现会有模块加载失败的提示,根据网上的做法,下载cudamat文件并make编译,将编译得到的learn.py、learn.pyc和 libcudalearn.so 复制到deepnet/cudamat/目录内。将nn_cudamat.py内的
from cudamat import learn as cl
改为
import learn as cl
后可成功运行nn_cudamat.py。之后遇到其它类似情况可做类似修改。
8、设置关于cudamat和deepnet的环境变量,如在~/.bashrc 添加如下类似内容
export PATH=/home/weiliu/SOFT/deepnet/cudamat:$PATH
export LD_LIBRARY_PATH=/home/SOFT/deepnet/cudamat:$LD_LIBRARY_PATH
export PYTHONPATH=${PYTHONPATH}:/home/deepnet/cudamat
export PYTHONPATH=$PYTHONPATH:/home/deepnet
9、下载MNIST数据集,cd到deepnet/deepnet/examples目录下运行
$ python setup_examples.py <path to mnist dataset> <output path>
这句主要是配置数据集和输出文件的位置。到examples下的任一目录执行可执行文件runall.sh,如在deepnet/deepnet/examples/rbm下执行:
$ sh runall.sh
PS:
1.如果CUDA版本为6.5及以上,make cudamat时会遇到错误需要修改cudamat下的makefile文件
all: libcudamat.so libcudamat_conv.so
libcudamat.so: cudamat.cu cudamat_kernels.cu cudamat.cuh cudamat_kernels.cuh
nvcc -O3 \
-v \
-gencode=arch=compute_20,code=sm_20 \
-gencode=arch=compute_30,code=sm_30 \
-gencode=arch=compute_35,code=sm_35 \
-gencode=arch=compute_50,code=sm_50 \
--compiler-options '-fPIC' -o libcudamat.so \
--shared cudamat.cu cudamat_kernels.cu -lcublas -L$(CUDA_LIB)
libcudamat_conv.so: cudamat_conv.cu cudamat_conv_kernels.cu cudamat_conv.cuh cudamat.cuh cudamat_conv_kernels.cuh
nvcc -O3 \
-v \
-gencode=arch=compute_20,code=sm_20 \
-gencode=arch=compute_30,code=sm_30 \
--compiler-options '-fPIC' -o libcudamat_conv.so \
--shared cudamat_conv.cu cudamat_conv_kernels.cu -lcublas -L$(CUDA_LIB)
clean:
rm -rf *.so
参考
http://blog.csdn.net/kkk3016/article/details/17889495
http://blog.sina.com.cn/s/blog_6bb5e91b0102v0hj.html
http://blog.csdn.net/llx1990rl/article/details/41699351