在ubuntu上配置cuda+cudnn+caffe(包括python和matlab接口)+digits

来源:互联网 发布:福师大网络教育平台 编辑:程序博客网 时间:2024/06/05 06:46

这篇算是自己对caffe学习的一个总结系列的开头。首先因为caffe的依赖项比较多,配置起来也比较麻烦。这篇算是比较详尽地把caffe的各种相关配置说清楚。转载请注明出处。
推荐ubuntu14.04版本,因为digits的支持比较好。显卡支不支持GPU加速要搞清楚啊,不支持就全用CPU算吧,别浪费时间折腾cuda了。
大家基本要按照官方教程上面来。但是官方教程有的坑没有点出来的,本文也一并列上了。

CUDA的安装

  1. 禁用nouveau驱动,nouveau是ubuntu自带的对nivida的开源驱动,对安装nvidia的官方驱动会有问题,所以先将其禁用。
  2. 按Ctrl+Alt+F1 进入tty1控制台,输入

    sudo vim /etc/modprobe.d/blacklist-nouveau.conf

    在里面写上

    blacklist nouveau
    options nouveau modeset=0

    按esc 输入:wq 保存退出

    ps:vim编辑器很好用啊,还不会的小伙伴要抓紧时间学啊。

  3. 执行

    lspci | grep nouveau

    查询pci总线中是否还有nouveau,grep后面接正则表达式过滤。

  4. 重新启动

    sudo reboot

    ps:显卡驱动挂掉之后很可能你就看不到系统界面了,启动之后显示器一团漆黑,其实系统是在运行的。我的做法是先提前装好了SSH服务,碰到这种情况就通过另一台电脑SSH登陆进去安装驱动。

  5. 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.plsudo /usr/bin/nvidia-uninstall

最后,配置环境变量,我们直接放在系统配置文件profile里面,先打开profile文件
sudo vi /etc/profile

在最后面加入两行代码:

export PATH=/usr/local/cuda-7.5/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

至此cuda安装完毕

CUDNN安装

CUDNN是给CUDA加速的。cudnn官网下载。貌似下载要先注册,审核通过还要几天时间。下载好之后解压。

cd cuda/includesudo cp *.h /usr/local/include/cd ../lib64sudo cp lib* /usr/local/lib/cd /usr/local/libsudo chmod +r libcudnn.so.4.0.4sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4sudo ln -sf libcudnn.so.4 libcudnn.sosudo 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-compilersudo 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。至少这个版本亲测无误。以后这种问题能不能解决不得而知,目前只好这样了。

# glogtar zxvf glog-0.3.3.tar.gzcd glog-0.3.3./configuremake && sudo make install# gflagsunzip gflags-master.zipcd gflags-mastermkdir build && cd buildexport CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1make && sudo make install# lmdbcd lmdb/libraries/liblmdbmake && 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 allmake testmake runtest

配置文件有几点要注意:

# cuDNN acceleration switch (uncomment to build with cuDNN).# USE_CUDNN := 1# CPU-only switch (uncomment to build without GPU support).# CPU_ONLY := 1BLAS choice:# atlas for ATLAS (default)# mkl for MKL# open for OpenBlasBLAS := 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 ~/caffesh data/mnist/get_mnist.shsh 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_PKGML_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_PKGsudo apt-get updatesudo 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
0 0
原创粉丝点击