在ubuntu上配置cuda+cudnn+caffe(包括python和matlab接口)+digits
2016-03-14 10:15
549 查看
这篇算是自己对caffe学习的一个总结系列的开头。首先因为caffe的依赖项比较多,配置起来也比较麻烦。这篇算是比较详尽地把caffe的各种相关配置说清楚。转载请注明出处。
推荐ubuntu14.04版本,因为digits的支持比较好。显卡支不支持GPU加速要搞清楚啊,不支持就全用CPU算吧,别浪费时间折腾cuda了。
大家基本要按照官方教程上面来。但是官方教程有的坑没有点出来的,本文也一并列上了。
按Ctrl+Alt+F1 进入tty1控制台,输入
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在里面写上
blacklist nouveau
options nouveau modeset=0
按esc 输入:wq 保存退出
ps:vim编辑器很好用啊,还不会的小伙伴要抓紧时间学啊。
执行
lspci | grep nouveau
查询pci总线中是否还有nouveau,grep后面接正则表达式过滤。
重新启动
sudo reboot
ps:显卡驱动挂掉之后很可能你就看不到系统界面了,启动之后显示器一团漆黑,其实系统是在运行的。我的做法是先提前装好了SSH服务,碰到这种情况就通过另一台电脑SSH登陆进去安装驱动。
CUDA官网下载。其实应该先下载好的,如果没来得及用图形界面下载,用wget, curl什么的下载也一样。 据说331的驱动有坑啊,大家不要用那个驱动。下面安装一些依赖项/
sudo service lightdm stop
sudo apt-get install g++
sudo apt-get install freeglut3-dev
下载好的cuda是一个shell脚本,运行
安装先按空格到文档100%然后回答一些accept,yes的问题,默认就好。安装完成后重启,然后
生成四个左右以nvidia开头的文件,如果有,则说明安装成功。没有可以按照下面方法卸载:
最后,配置环境变量,我们直接放在系统配置文件profile里面,先打开profile文件
sudo vi /etc/profile
在最后面加入两行代码:
至此cuda安装完毕
这样CUDNN就安装完毕了,是不是很简单啊。
opencv2.4安装很简单了,下载下来解压,然后进入目录make, sudo make install就搞定了。
caffe官方下载 基本按照官方安装指南就可以了,有几个坑要稍微注意下。先安装依赖:
下面这个我安装一次跪一次,因为你每次安装的版本都是最新的,但是最新的版本之间相互未必兼容,所以这里推荐手动安装。
贾扬清大神还说了,大家一定要看清楚啊!
Note that glog does not compile with the most recent gflags version (2.1), so before that is resolved you will need to build with glog first.
我这里推荐boost-1.55,gflags-2.0,glog-0.3.3。至少这个版本亲测无误。以后这种问题能不能解决不得而知,目前只好这样了。
下面开始配置caffe并且开始编译了。
配置文件有几点要注意:
这几个地方根据自己情况选择。
make all没有问题的话,caffe就算成功了啊。
在开始下面内容之前,我们先用caffe跑个著名的mnist的例子吧(号称深度学习的hello world)。
下载mnist数据
运行时,如果你有GPU,则不需要修改配置文件,如果没有gpu,则需要修改配置文件lenet_solver.prototxt
将最后一行的solver_mode:GPU改为solver_mode:CPU
配置好后,就可以运行了
最后正确率反正99%点多吧,这个库已经跑得很好了。
为了获取更好的性能,我们安装MKL。
先去Intel官网注册下载,学生可以申请学生版,里面会有注册号。
运行里面install脚本就可以安装。
配置MKL:
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
在文件中添加内容
/opt/intel/lib
/opt/intel/mkl/lib/intel64
注意把路径替换成自己的安装路径。 编辑完后执行
sudo ldconfig
如果改了默认路径,在caffe里面的Makefile.config也要改一下。
# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := mkl
Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
Leave commented to accept the defaults for your choice of BLAS
(which should work)!
BLAS_INCLUDE := /path/to/your/blas
BLAS_LIB := /path/to/your/blas
digits 相当于一个图形化界面,对于初学者来说方便不少。另外还支持torch(另一个深度学习框架)。
这个只要根据官网教程做就可以了,ubuntu14.04就是这么简单,可以直接apt-get。
记得要在requirements的目录下,而且安装了pip哦,easy_install也可以的,稍微改下命令。
然后
make pycaffe
推荐ubuntu14.04版本,因为digits的支持比较好。显卡支不支持GPU加速要搞清楚啊,不支持就全用CPU算吧,别浪费时间折腾cuda了。
大家基本要按照官方教程上面来。但是官方教程有的坑没有点出来的,本文也一并列上了。
CUDA的安装
禁用nouveau驱动,nouveau是ubuntu自带的对nivida的开源驱动,对安装nvidia的官方驱动会有问题,所以先将其禁用。按Ctrl+Alt+F1 进入tty1控制台,输入
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在里面写上
blacklist nouveau
options nouveau modeset=0
按esc 输入:wq 保存退出
ps:vim编辑器很好用啊,还不会的小伙伴要抓紧时间学啊。
执行
lspci | grep nouveau
查询pci总线中是否还有nouveau,grep后面接正则表达式过滤。
重新启动
sudo reboot
ps:显卡驱动挂掉之后很可能你就看不到系统界面了,启动之后显示器一团漆黑,其实系统是在运行的。我的做法是先提前装好了SSH服务,碰到这种情况就通过另一台电脑SSH登陆进去安装驱动。
CUDA官网下载。其实应该先下载好的,如果没来得及用图形界面下载,用wget, curl什么的下载也一样。 据说331的驱动有坑啊,大家不要用那个驱动。下面安装一些依赖项/
sudo service lightdm stop
sudo apt-get install g++
sudo apt-get install freeglut3-dev
下载好的cuda是一个shell脚本,运行
sudo sh cuda_7.5_linux.run
安装先按空格到文档100%然后回答一些accept,yes的问题,默认就好。安装完成后重启,然后
ls /dev/nvidia*
生成四个左右以nvidia开头的文件,如果有,则说明安装成功。没有可以按照下面方法卸载:
sudo /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.pl sudo /usr/bin/nvidia-uninstall
最后,配置环境变量,我们直接放在系统配置文件profile里面,先打开profile文件
sudo vi /etc/profile
在最后面加入两行代码:
export PATH=/usr/local/cuda-7.5/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
至此cuda安装完毕
CUDNN安装
CUDNN是给CUDA加速的。cudnn官网下载。貌似下载要先注册,审核通过还要几天时间。下载好之后解压。cd cuda/include sudo cp *.h /usr/local/include/ cd ../lib64 sudo cp lib* /usr/local/lib/ cd /usr/local/lib sudo chmod +r libcudnn.so.4.0.4 sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4 sudo ln -sf libcudnn.so.4 libcudnn.so sudo ldconfig
这样CUDNN就安装完毕了,是不是很简单啊。
caffe的安装
首先先安装opencv,推荐2.4的版本。opencv1.x是纯C语言编写的,2.x c和c++的包都有,opencv3是只用c++写的。为了别人写的代码也能正常运行,还是推荐装2.x。opencv2.4安装很简单了,下载下来解压,然后进入目录make, sudo make install就搞定了。
caffe官方下载 基本按照官方安装指南就可以了,有几个坑要稍微注意下。先安装依赖:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev
下面这个我安装一次跪一次,因为你每次安装的版本都是最新的,但是最新的版本之间相互未必兼容,所以这里推荐手动安装。
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
贾扬清大神还说了,大家一定要看清楚啊!
Note that glog does not compile with the most recent gflags version (2.1), so before that is resolved you will need to build with glog first.
我这里推荐boost-1.55,gflags-2.0,glog-0.3.3。至少这个版本亲测无误。以后这种问题能不能解决不得而知,目前只好这样了。
# glog tar zxvf glog-0.3.3.tar.gz cd glog-0.3.3 ./configure make && sudo make install # gflags unzip gflags-master.zip cd gflags-master mkdir build && cd build export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 make && sudo make install # lmdb cd lmdb/libraries/liblmdb make && sudo make install
下面开始配置caffe并且开始编译了。
cp Makefile.config.example Makefile.config # Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired) make all make test make runtest
配置文件有几点要注意:
# cuDNN acceleration switch (uncomment to build with cuDNN). # USE_CUDNN := 1 # CPU-only switch (uncomment to build without GPU support). # CPU_ONLY := 1 BLAS choice: # atlas for ATLAS (default) # mkl for MKL # open for OpenBlas BLAS := atlas # Custom (MKL/ATLAS/OpenBLAS) include and lib directories. # Leave commented to accept the defaults for your choice of BLAS # (which should work)! # BLAS_INCLUDE := /path/to/your/blas # BLAS_LIB := /path/to/your/blas
这几个地方根据自己情况选择。
make all没有问题的话,caffe就算成功了啊。
在开始下面内容之前,我们先用caffe跑个著名的mnist的例子吧(号称深度学习的hello world)。
下载mnist数据
cd ~/caffe sh data/mnist/get_mnist.sh sh examples/mnist/create_mnist.sh
运行时,如果你有GPU,则不需要修改配置文件,如果没有gpu,则需要修改配置文件lenet_solver.prototxt
sudo vi examples/mnist/lenet_solver.prototxt
将最后一行的solver_mode:GPU改为solver_mode:CPU
配置好后,就可以运行了
sh examples/mnist/train_lenet.sh
最后正确率反正99%点多吧,这个库已经跑得很好了。
MKL的安装
BLAS: install ATLAS by sudo apt-get install libatlas-base-dev or install OpenBLAS or MKL for better CPU performance.为了获取更好的性能,我们安装MKL。
先去Intel官网注册下载,学生可以申请学生版,里面会有注册号。
运行里面install脚本就可以安装。
配置MKL:
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
在文件中添加内容
/opt/intel/lib
/opt/intel/mkl/lib/intel64
注意把路径替换成自己的安装路径。 编辑完后执行
sudo ldconfig
如果改了默认路径,在caffe里面的Makefile.config也要改一下。
# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := mkl
Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
Leave commented to accept the defaults for your choice of BLAS
(which should work)!
BLAS_INCLUDE := /path/to/your/blas
BLAS_LIB := /path/to/your/blas
DIGITS的安装
digits官网下载digits 相当于一个图形化界面,对于初学者来说方便不少。另外还支持torch(另一个深度学习框架)。
这个只要根据官网教程做就可以了,ubuntu14.04就是这么简单,可以直接apt-get。
CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG && sudo dpkg -i $CUDA_REPO_PKG ML_REPO_PKG=nvidia-machine-learning-repo_4.0-2_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG && sudo dpkg -i $ML_REPO_PKG sudo apt-get update sudo apt-get install digits
python和matlab caffe安装
python
先安装依赖项目:(在caffe/python/requirements.txt里面有详细内容)for req in $(cat requirements.txt); do pip install $req; done
记得要在requirements的目录下,而且安装了pip哦,easy_install也可以的,稍微改下命令。
然后
make pycaffe
matlab
安装好matlab之后,在配置文件中配置matlab的路径,# This is required only if you will compile the matlab interface. # MATLAB directory should contain the mex binary in /bin. MATLAB_DIR := /usr/local/MATLAB/R2014a 然后: make matcaffe
相关文章推荐
- Matlab R2014+visual studio 2013 混合编程(2)
- 区域生长算法原理及MATLAB实现
- matlab数值积分方法求pi的近似值及其比较
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- Matlab位运算操作
- Matlab位运算笔记
- matlab中cumsum函数和sum函数详解
- 利用MATLAB对一个自动变量x赋值
- 利用MATLAB求方程y1=3x1+x2+x3,y2=3x1-x2-x3在x1=-2,x2=3,x3=1时的值
- matlab归一化
- 受限玻尔兹曼机RBM实现——matlab实现
- Matlab与C++混合编程(依赖OpenCV)
- matlab坐标轴设置
- java调用matlab程序
- Matlab小记
- matlab调用Java函数
- matlab/simulink环境下搭建的仿真电路
- matlab五彩多图案3D烟花
- 使用kd_tree和BBF进行SIFT匹配反而比暴力匹配更慢??
- 图片转化成矩阵,灰度处理,黑白对调--ByMatlab