Ubuntu 14.04+cuda7+caffe 安装配置指南

Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,它是目前最流行的深度学习框架之一。对于新手来说,caffe的安装和配置是个难题(像我这样的菜鸟,就配置了5天,重装了6次系统),所以本文主要将自己配置caffe的过程记录下来,一来能与大家交流,二来避免以后配置环境时遗忘。

一、安装Ubuntu 14.04

配置caffe之前,我对linux系统一点也不熟,完全是因为大神们推荐在linux上用caffe更好,就安装了win7+ubuntu 14.04的双系统。具体的安装过程见该博客点击打开链接,步骤基本不用改变。

二、CUDA7的安装与配置

caffe之所以难配置,主要就是因为cuda驱动和Toolkit安装时一些细节注意不到时,会发生各种难以解决的问题,比如安装cuda后进不了Ubuntu桌面(这个问题困扰了我两天的时间)。下面详细介绍一下安装过程,安装完系统后就开始配置CUDA,记着不要去更新系统。

1、首先确定你有一个支持cuda编程的GPU。

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

      $ lspci | grep -i nvidia

2、确认gcc已安装。

      $ gcc --version

3、下载cuda7的 .run 安装文件。

      下载地址: https://developer.nvidia.com/cuda-downloads  下载RUN文件,1.1GB。

      用下面的命令计算MD5,结果应该是 312aede1c3d1d3425c8caa67bbb7a55e,具体见  

http://developer.download.nvidia.com/compute/cuda/7_0/Prod/md5sum-7.0.txt

      $ md5sum filename(下载的文件名)

4、更新一下源。

      $ sudo apt-get update 

      若出现一些update无法下载,应该是被墙了,可以换一下源,这里我是用的清华大学的源。

5、安装一些必要的库

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

      我在安装时有一个库 libgl1-mesa-glx 没安装成功,忽略之,对后面的也没影响。

6、禁用系统自带的nouveau开源驱动。

      执行下列命令:

      $ sudo vi /etc/modprobe.d/blacklist-nouveau.conf

      在文件写入:blacklist nouveau

                           options nouveau modeset=0

      保存并退出:wq!

       执行下列命令:

      $ sudo update-initramfs -u

      重启电脑使禁用生效。

7、安装CUDA

      电脑重启后进入tty模式,关闭桌面服务:

      $ sudo stop lightdm

      切换到cuda_7.0.28_linux.run所在目录,执行如下安装命令:

$ sudo sh cuda_7.0.28_linux.run --no-opengl-libs

      这里要注意的是,之前几次安装cuda时,并没有加--no-opengl-libs选项,导致安装完cuda后就进不了桌面了,这个问题当时困扰了我好久。可以读一下nvidia官方的安装教程 CUDA_Getting_Started_Linux.pdf,里面的4.5 Advanced options 有讲到这些和其他的安装选项!!

      安装过程中会有一些问题,问yes 或no的直接yes ,其它的按Enter。

      安装完后,输入以下命令开启桌面服务:

      $ sudo start lightdm

8、配置环境变量

      进入桌面后,打开终端,输入以下的命令:

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

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

9、检验安装是否成功。

      执行以下的命令可以查看驱动的版本:

      $ cat /proc/driver/nvidia/version

      执行以下的命令可以查看CUDA Toolkit的版本:

      $ nvcc -V

      接下来测试一下samples。一般安装完cuda7后,主文件夹下会有一个NVIDIA_CUDA-7.0_Samples的文件夹(似乎就是这个名字,具体有点记不清啦),cd进入该文件夹下输入make命令,等待一段时间,编译完成后,cd进入NVIDIA_CUDA-7.0_Samples/

bin/x86_64/linux/release(这个路径有点记不太清了,似乎是这个),总之得找到deviceQuery文件,并且运行它,$ sudo ./device

Query,输出应与下图相似:  

       


      然后运行bandwidthTest来确认CUDA设备能与系统正确通信。输出结果应和下图相似:

       


       这些测试都通过的话,就能确认CUDA 环境配置成功了。配置caffe最难过的一关已经通过了。

三、Python安装

       caffe支持Python和Matlab接口,这里我也配置了Python环境,Matlab环境配置请看这篇博客点击打开链接

        选一个适合你的IDE环境,我装的是Spyder,它内置了iPython环境,caffe中有不少程序是基于iPython环境完成的。安装方法很简单,直接在ubuntu软件中心搜索“Spyder"即可安装。有关配置和编译pycaffe的内容请见下一部分。

四、caffe的安装和测试

        caffe的安装可参照官网:http://caffe.berkeleyvision.org/installation.html

1、安装BLAS

      这里可以选择ATLAS、MKL或者OpenBLAS,我安装的是ATLAS,输入以下命令安装:

      $ sudo apt-get install libatlas-base-dev

2、安装其它依赖库

      这些依赖库包括boost、opencv、leveldb、protobuf等,依次运行命令:$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy

-dev libopencv-dev libboost-all-dev libhdf5-serial-dev $ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

3、安装pycaffe的必须的一些依赖项

      $ sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

      $ sudo apt-get install -y protobuf-c-compiler protobuf-compiler

4、安装配置cuDNN加速

      先到官网下载最新的cuDNN。目前是cudnn-6.5-linux-x64-v2.tgz,可解压到主文件夹,然后依次执行以下的命令: 

      然后链接cuDNN 的库文件

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

5、caffe的配置和编译

      从github上下载最新的caffe-master包,网址为https://github.com/BVLC/caffe。可将下载的zip包解压,然后将caffe-master放在主文件夹下,进入caffe-master,生成Makefile.config配置文件,执行:

      $ cp Makefile.config.example Makefile.config

      接着打开Makefile.config做一些修改:

      a、启用cuDNN,去掉注释”#“。

            USE_CUDNN := 1

      b、启用GPU,加上注释”#“。

            # CPU_ONLY := 1

      c、配置路径,实现caffe对python接口的支持。

            PYTHON_LIB := /usr/local/lib

6、编译caffe-master !! "-j8"是使用CPU的多核进行编译,可以极大地加快编译的速度。

      $ make all -j8

      若在环境变量或共享库的配置上没做好,在编译runtest的时候会报错,大概是说cudart找不到文件,可以执行命令:

       $ sudo ldconfig  /usr/local/cuda-7.0/lib64 

      解决了上面的问题后再次运行 $ make runtest -j8 ,又出现了一个错误,其中错误说明中有这么一句:   

      Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)  CUDNN_STATUS_ARC  ,几方查找找到原因:GPU加速性能不够,cuDNN只支持CUDA capability 3.0 以上的GPU加速。而我的 笔记本的显卡为geforce 610m,GPU 的CUDA capability 为2.1,因此不能使用cuDNN加速。 只能在Makefile.config中注释掉USE_CUDNN这行,重新执行以下                                     

       $ make clean

       最后除了make runtest中2 disabled tests之外,没有其它问题,make runtest中出现几个测试例子不过不影响使用。

       接着编译Python用到的caffe文件:

       $ make pycaffe -j8

五、使用MNIST数据集进行测试

        进入到caffe-master文件夹下,然后进行下面的操作:

1、数据预处理

      $ sh data/mnist/get_mnist.sh

2、重建lmdb文件

     $ sh examples/mnist/create_mnist.sh

3、训练mnist

     $ sh examples/mnist/train_lenet.sh

     跑了10000回合后就停止了,在我的笔记本上(n卡为Geforce 610m,显存2G,没有使用cuDNN)跑了将近12分钟,准确率好像是99.01%。

至此,caffe的配置算是结束了,由于对linux系统的陌生,前后共花了5天时间,遇到不能解决的问题就重装系统,总共重装了6次。但是最后看到Mnist测试顺利结束时,内心还是很欣慰的。caffe安装配置完了,接下来就该学习如何使用它了。

-----参考

1、http://developer.download.nvidia.com/compute/cuda/7_0/Prod/doc/CUDA_Getting_Started_Linux.pdf

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

3、http://it.010lm.com/os/LINUX/161106.html

4、http://blog.csdn.net/grief_of_the_nazgul/article/details/46361699





























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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值