Caffe+Ubuntu 14.04 + Cuda6.5 新手安装记录

    纯种新手,没玩过caffe,刚学习DL,甚至连linux都是第一次接触。安装中间遇到各种奇葩问题,重装了很多次,才终于装好了,有几个靠谱的安装教程链接和我遇到的已解决问题一起分享给大家。


安装过程中参考的几个很靠谱的教程链接:

http://blog.sciencenet.cn/blog-1583812-841855.html

http://ouxinyu.github.io/Blogs/20140723001.html

(可以搜到很多教程,其实都差不多)


1. ubuntu14.04 安装

U盘安装的,主要是安装中的分区设置,我的分区设置如下:

根分区: \ 100G

Swap交换分区: 2G (随便设置的,有一份参考中设置了和内存相同的16G,并表明内存小于16G时,设置为内存的1.5-2倍)

Home分区:80G (建议设置大一些,但是我就这么点空间了)

(由于我一开始分区时\分区设置太小,导致后来不停的做软连接,所以,记得\分区设置大一些。)

2.nVidia驱动和CUDA Toolkit的安装和调试

nVidia官方提供的CUDA安装手册(英文版):https://developer.nvidia.com/rdp/cuda-65-rc-toolkit-download#linux

 a.Verify You Have a CUDA-Capable GPU

    执行下面的操作,然后验证硬件支持GPU CUDA,只要型号存在于https://developer.nvidia.com/cuda-gpus,就没问题了

$ lspci | grep -i nvidia

 b. Verify You Have a Supported Version of Linux

$ uname -m && cat /etc/*release

重点是“x86_64”这一项,保证是x86架构,64bit系统

 c.Verify the System Has gcc Installed

$ gcc –version

如果检测出来没有,安装命令 sudo apt-get install gcc ,一般ubuntu14.04已经内置gcc4.8.x版本。

 d. Download the NVIDIA CUDA Toolkit

官网下载对应操作系统和位数的cuda的.run文件

在根目录下新建cuda_install文件夹,把run文件放进去

$ mkdir cuda_install

$ md5sum filename

如果md5值不对,重新下载安装包。

 e. Handle Conflicting Installation Methods

根据官网介绍,之前安装的版本都会有冲突的嫌疑,所以之前安装的Toolkit和Drievers就得卸载,屏蔽,等等。

$ sudo apt-get --purgeremove nvidia*

  (由于我的是新系统,此步省略)

 f. Graphical Interface Shutdown

退出GUI,也就是X-Win界面,操作方法是:同时按:CTRL+ALT+F1(F2-F6),切换到TTY1-6命令行模式。

关闭桌面服务:

$ sudo stop lightdm

(会显示 lightdmstop/waiting   说明图形界面关闭成功)

 g.Interaction with Nouveau

Nouveau是一个开源的显卡驱动,Ubuntu 14.04 默认安装了,但是它会影响nVidia驱动的安装,所以:

$ sudo vi /etc/modprobe.d/nvidia-graphics-drivers.conf

写入:blacklist nouveau

保存并退出: wq!

检查:

$ cat nvidia-graphics-drivers.conf

$ sudo vi /etc/default/grub

末尾写入:rdblacklist=nouveaunouveau.modeset=0

保存并退出: wq!

检查:$ cat /etc/default/grub

测试nouveau是否被禁用成功很简单:

(1)重启之后明显感觉画质变差

(2)lsmod | grep nouveau,如果显示为空,那么就是卸载成功了。

 h.Installation CUDA 6.5

切换到cuda_6.5.14_linux_64.run 所在的目录,然后执行安装命令:

$ sudo cd cuda_install

$ sudo sh cuda_6.5.14_linux_64.run

Accept-yes-Enter-yes-Enter-yes-Enter安装即可。

注:这里一般会遇到的问题:

  1.提醒你需要reboot(重启)才能安装,那就用命令行重启,然后在执行一次安装命令:

     $sudo reboot

     $ sudo cd cuda_install

     $sudo sh cuda_6.5.14_linux_64.run

 i. ExtraLibraries

安装一些必要的库文件,譬如:OpenGL(e.g., Mesa), GLU, GLUT, and X11 (including Xi, Xmu, and GLX).

$ sudo apt-get install freeglut3-dev build-essential libx11-devlibxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

(可能会有冲突,可以一个一个安装)

 j.驱动装完了,可以回到GUI界面了,也可以继续。

$ sudo start lightdm

 k. POST-INSTALLATION ACTIONS

   1.Environment Setup

$ export PATH=/usr/local/cuda-6.5/bin:$PATH

$ export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH

检查是否设置成功:

$ echo $PATH

$ echo $LD_LIBRARY_PATH

   2.check

检查显卡是否安装成功:

$ sudo apt-get install mesa-utils

$ glxinfo | grep -i nvidia

注:如果出现安装失败,重启系统,重新安装一遍基本都可以解决,实在不行就卸载原来的驱动再安装一遍。

       a. 卸载现有驱动

       $ sudo nvidia-installer --uninstall

       b. 重装CUDA Toolkit

       $ sudo sh cuda_6.5.14_linux_64.run

    3.(Opthional)InstallWritable Samples

$ cuda-install-samples-6.5.sh

  安装到home下,一般不需要,home下载安装过程中会自动生成一个samples文件夹在home下。

    4.Verify the installation

      a.验证驱动的版本,其实主要是保证驱动程序已经安装正常了

$ cat ./proc/driver/nvidia/version

      b.Compiling the examples

$ nvcc –V

如果提示nvcc未安装,其实是nvidia-cuda-toolkit的编译器没有安装完整,则按照提示操作:

$ sudo apt-get installnvidia-cuda-toolkit

可以进行编译,切换到目录~/NVIDIA_CUDA-6.5_Samples:

$ cd/home/usrname/NVIDIA_CUDA-6.5_Samples

$ make

     c. Running the Binaries

编译好后,查看设备的基本信息和带宽信息:

$ cd ./bin/x86_64/linux/release

$ ./deviceQuery

$ ./bandwidthTest

注:如果测试的时候出现说运行版驱动和实际驱动不符,原因可能是因为后面安装的nvidia-cuda-toolkit更新了配置文件,所以和原始的Cuda-Samples的配置或者是驱动程序有变化,所以检测无法编译通过。考虑下面的解决方法:

(1)卸载现有驱动

$ sudo nvidia-installer --uninstall

(2)下载合适版本的驱动,并安装:

下载地址:http://www.geforce.cn/drivers

$ sudo sh ./NVIDIA-Linux-x86_64-340.24.run

(3)重装CUDA Toolkit

$ sudo sh cuda_6.5.14_linux_64.run

3.Python和Matlab安装(可选)

a. python安装

在Ubuntu软件中心搜索“spyder”即可安装。

 b.Matlab安装

我装的是R2014a版本,百度搜索就可以下载,安装激活教程也可以找到。

Python和Matlab的caffe编译在后面caffe相关部分。

4.Caffe安装

a.blas安装

可以选择(ATLAS,MKL或者OpenBLAS)。下面介绍mkl和atlas的安装,这两种我都安装过。

MKL安装:

1.下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接是:https://software.intel.com/en-us/intel-education-offerings,请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。

下载完之后,要把文件解压到home文件夹。

 2.安装过程:

$ tar zxvf parallel_studio_xe_2015.tar.gz (如果你是直接拷贝压缩文件过来的)

$ chmod a+x /home/username/parallel_studio_xe_2015 -R

$ sudo ./install_GUI.sh

进入图形界面安装,序列号在申请软件时,已发送到邮箱,填写就好了。

一般会提示没有32位的一些包,libstdc++等,无视这个,继续安装。

$ sudo passwd root

 3.MKL与CUDA的环境设置

   a.新建intel_mkl.conf,并编辑:

$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

  b.新建cuda.conf,并编辑:

$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

/lib

  c.完成lib文件的链接操作,执行:

$ sudo ldconfig –v

Atlas安装:

b.OpenCV安装

我这个按照所有教程都没有安装成功,所以只用命令行安装了一下,目前为止没有遇到什么问题,安装如下:

$ sudo apt-get installlibopencv-dev python-opencv

其他教程有两种安装方法如下:

方法一:

1.安装依赖包

$ sudo apt-get install build-essentiallibgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmakelibswscale-dev libjasper-dev

由于依赖问题,建议分开安装

1. 官网下载Opencv,我下载的是opencv-3.0.0-alpha.zip,移动到主目录下,解压:

$ unzip opencv-3.0.0-alpha

然后执行以下命令:

$ cd opencv-3.0.0-alpha

$ mkdir build

$ cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local ..

(这里可能会遇到CMakeList.txt找不到的问题,把“..”换成CMakeList.txt的所在目录opencv-3.0.0-alpha就可以了。 )

$ make

$ sudo make install

这个过程时间比较久,耐心等待。。。

下面配置library,打开/etc/ld.so.conf.d/opencv.conf,加入/usr/local/lib:

$ sudo su

$ vi /etc/ld.so.conf.d/opencv.conf

/usr/local/lib

$ sudo ldconfig -v

然后更改变量:

$ sudo gedit /etc/bash.bashrc

添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

至此opencv安装配置完成。

方法二:

Github上有人已经写好了完整的安装脚本,能自动安装所有dependencies.

链接:https://github.com/jayrambhia/Install-OpenCV

下载该脚本,进入Ubuntu/2.4目录, 给所有shell脚本加上可执行权限

$ chmod +x *.sh

修改脚本opencv2_4_X.sh,cmake中加入参数

-D BUILD_TIFF=ON

然后安装(当前为2.4.9

sudo ./opencv2_4_9.sh

脚本会自动安装依赖项,下载安装包,编译并安装OpenCV。整个过程大概半小时左右。

c.安装其他依赖项

 1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:

$ tar zxvf glog-0.3.3.tar.gz

$ ./configure

$ make

$ sudo make install

ubuntu12.02中,需要安装另外两个依赖项:gflags、lmdb。不装之后编译会出问题。

参考:http://www.shwley.com/index.php/archives/52/

# glog

wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz 

tar zxvf glog-0.3.3.tar.gz 

cd glog-0.3.3

./configure 

make && make install 

# gflags

wget https://github.com/schuhschuh/gflags/archive/master.zip 

unzip master.zip 

cd gflags-master 

mkdir build && cd build 

export CXXFLAGS="-fPIC" &&cmake .. && make VERBOSE=1

make 

sudo make install 

# lmdbgit 

git clone git://gitorious.org/mdb/mdb.git  (原教程此处小了git)

cd mdb/libraries/liblmdb 

make && make install

 2.其他依赖项,确保都成功

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-devlibopencv-dev libboost-all-dev libhdf5-serial-dev

如果使用的是2014年9月之后的新版Caffe,对于ubuntu14.04来说,需要安装以下依赖文件:

$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devprotobuf-compiler

d.安装caffe

下载caffe-master.zip,并解压。

 1. 切换到Caffe的下载文件夹,然后执行:

$ cp Makefile.config.example Makefile.config

修改新生成的Makefile.config文件,修改“BLAS := mkl”,这个非常重要。(我安装的是atlas,所以默认配置)

2. 安装配置nVidia cuDNN 加速Caffe模型运算

a. 编辑确保Makefile.config,启用GPU “# CPU_ONLY := 1”,并设置 “USE_CUDNN := 1”。

b. 安装cuDNN

cuDNN 介绍和下载地址:cuDNN Introdution and Download(下载在最下面,需要注册)

$ sudo cp cudnn.h /usr/local/include

$ sudo cp libcudnn.so /usr/local/lib

$ sudo cp libcudnn.so.6.5 /usr/local/lib

$ sudo cp libcudnn.so.6.5.48 /usr/local/lib

c. 链接cuDNN的库文件

$ sudo ln -sf /usr/local/lib/cudnn.so.6.5.48 /usr/local/lib/libcudnn.so.6.5

不做链接,可能会出现这个报错:“./build/tools/caffe:error while loading shared libraries: libcudnn.so.6.5: cannot open sharedobject file: No such file or directory”那是因为cuDNN没有链接成功,只能做一下硬链接。

$ sudo ldconfig -v

3. 编译caffe-master。"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all -j8

$ make test -j8

$ make runtest -j8

可能出现的的错误:

1.libcudnn.so.6.5:cannot open shared object file,查看LD_LIBRARY_PATH发现环境变量没问题,cuda的配置文件没有加进去,加进去就好了。

2.如果提示: make: protoc: 命令未找到,那是因为protoc没有安装,安装一下就好了。

$ sudo apt-getinstall protobuf-c-compiler protobuf-compiler

4.python和matlab编译

 a. 配置路径,实现caffe对Python和Matlab接口的支持,编辑Makefile.config:

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/local/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a

 b.编译Python和Matlab用到的caffe文件

$ make pycaffe -j8

$ make matcaffe -j8

注:这里应该会提醒gcc的版本问题,因为matlab R2014a需要的gcc版本是4.7.x,好吧,换了吧。

5.使用MNIST数据集进行测试

注:此处运行.sh文件时,都需要在caffe-master目录下,若再进入子目录,则会造成运行失败

Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html

1. 数据预处理

$ sh data/mnist/get_mnist.sh

2. 重建lmdb/leveldb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

$ sh examples/mnist/create_mnist.sh

生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

3. 训练mnist

$ sh examples/mnist/train_lenet.sh

至此,完成所有步骤。












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值