deep learning学习-caffe安装记录

来源:互联网 发布:js获取event对象 编辑:程序博客网 时间:2024/04/30 14:10

      Caffe是一个开源的深度学习框架,使用C++/CUDA编写,支持命令行、Python、MATLAB和C++接口,可以在CPU和GPU之间进行无缝切换。其详细介绍见官网。Caffe上手容易,而且有众多大牛的深度学习算法在Caffe上的实现,对于DL入门而言很有帮助。

下面记录一下caffe安装的过程,以便以后再需安装的时候,方便回顾。自己所用系统为ubuntu14.04

先配置一下caffe安装所需要的软件环境。

1.安装cuda

cuda我这里选择7.0

(1)CUDA需要安装闭源的驱动。下面是安装步骤:
从System Setting->Software->Software & Updates->Additional Drivers处选择适合显卡型号的最新版本闭源驱动安装,如本人的配置:


Apply Changes后等待安装完成,重启后能正常进入桌面即表示显卡闭源驱动安装成功。

(2)官网上下载Ubuntu 14.04版本的CUDA 7.0的Runfile Installer类型安装包。下载完毕后,使用chmod +x命令赋予其可执行权限,然后sudo运行下载的.run文件即可,安装过程中注意切勿安装里面的显卡驱动(graphics driver),对于toolkit和samples正常安装。安装完毕后编辑~/.bashrc文件,在末尾加入:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libexport PATH=$PATH:/usr/local/cuda-7.0/bin:/usr/local/bin
然后source ~/.bashrc使环境配置生效。
(3)安装下列依赖包

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
然后运行samples看是否能正常工作。
解决一个问题:在使用非Root权限运行cuda编译的程序会出错,但使用sudo后可以正常运行,然后再次使用非Root权限运行cuda编译的程序则不会发生问题。
参照cuda getting started guide for linux4.4章节,在/etc/init.d/下新建一个cudainit.sh文件,其内容为

#!/bin/bash/sbin/modprobe nvidiaif [ "$?" -eq 0 ]; then# Count the number of NVIDIA controllers found.NVDEVS=`lspci | grep -i NVIDIA`N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`N=`expr $N3D + $NVGA - 1`for i in `seq 0 $N`; do mknod -m 666 /dev/nvidia$i c 195 $idonemknod -m 666 /dev/nvidiactl c 195 255else exit 1fi/sbin/modprobe nvidia-uvmif [ "$?" -eq 0 ]; then # Find out the major device number used by the nvidia-uvm driver D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666 /dev/nvidia-uvm c $D 0 else exit 1 fi
更改cudainit.sh文件权限为755:

chmod 755 cudainit.sh
修改/etc/rc.local文件,在exit前添加一行,使之如下所示:
#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing./etc/init.d/cudainit.shexit 0
然后重启电脑即可。
2.接下来的安装参照官网

3.cuDNN安装


本人的下载文件是:cudnn-7.0-linux-x64-v4.0-prod.tgz

在终端中切换到文件所在文件夹,输入下面指令:

$ sudo tar xvf cudnn-7.0-linux-x64-v4.0-prod.tgz$ 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.7$ sudo ln -sf libcudnn.so.4.0.7 libcudnn.so.4$ sudo ln -sf libcudnn.so.4 libcudnn.so$ sudo ldconfig
然后切换到caffe根目录下,将Makefile.config中的USE_CUDNN行前的#去掉:

然后重新编译

$ make clean$ make all$ make test  $ make runtest 

在编译的时候,看到googlebuffer相关的错误,先make clean一下,另外make all -j24的话,可以用24个并行线程进行编译,速度会快一些。

如果看到关于 libhdf5相关的错误,可能是因为自己安装了anaconda,有了两个lib,用下面方法解决


在bashrc中添加路径


编译的时候最后一步的时候,出现这样的错误:

libcudart.so.7.0 cannot open shared object file: No such file or directory
解决方法是这样,将一些文件复制到/usr/local/lib文件夹下:
$ sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig$ sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig$ sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig
4.pycaffe安装与路径配置

Anaconda安装

wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda2-2.5.0-Linux-x86_64.sh
安装 
bash Anaconda2-2.5.0-Linux-x86_64.sh 

默认安装就行了,除了最后一项!将Anaconda2的路径写入自己的环境变量中,输入“yes”。

  • 如果显示如红框所示,说明当前python是系统默认的python。 
    说明刚才添加的环境变量没有起作用,需要用命令激活:source .bashrc 
    如果显示如蓝框所示,说明当前python用的是Anaconda里的python。安装成功!

    测试:


pycaffe安装与配置

记得先在Makefile.config中修改Python的路径,之后再make caffe
  • 编译 
    make pycaffe -j8

  • 添加环境变量 
    vim ~/.bashrc 
    export PYTHONPATH=/home/wanghh/caffe/python:$PYTHONPATH添加到文件中。 
    source ~/.bashrc 使更改生效。 
    这样,在其他地方打开python,也可以import caffe了。

如果在安装完anaconda之后再安opencv时,会各种报错,可以先将anaconda卸载,安好opencv之后再安上;

另外在安装opencv编译时,一定要加上butiff=on,不然后来caffe编译时会出错。



0 0