您的位置:首页 > Web前端

ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置

2016-09-22 21:45 453 查看

版权声明:文章原创,转载请注明出处,多谢!

声明 

   本文是关于ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置过程的说明。

    小菜是刚接触深度学习领域的小白,在配置caffe的过程中遇到很多困难,一度纠结崩溃甚至想放弃,但是最终配置成功,看着Demo运行,还是非常有成就感和愉悦感的。也更加坚定了遇到问题时要坚持不懈,最终会解决的信念。在此写下博客,记录下安装、学习过程。如果小伙伴们能再此找到解决问题之道,那更是对本人文章莫大的肯定。欢迎大家批评指正^.^

首先说一下电脑配置和用到的软硬件的版本。

电脑型号:B5400

CPU:c4200M

显卡:集成显卡Inite+独立显卡Nvidia820M

操作系统:Ubuntu14.04(内核版本3.13!)

各个软件版本:

gcc:4.8.2,

CUDA7.5,caffe,cuDNN,OpenCV,Python2.7,

正文之前

    正文之前先说一下个人感触:本人在装软件之前,只知道有caffe这么个深度学习的框架,对Linx系统,配置文件,命令行啥的一窍不通(没办法,本科欠下太多的东西,都要还的......)。开始照搬网上的方法,一通乱搞,最后可想而知以失败告终,于是慢慢熟悉每一个细节,耐心搞懂每一个语法,每个软件的作用,参考了官方的文档和官方说明。在这一过程中,有两点的感触最深:1.一定要注意版本问题(血泪教训);2.一定要多研究官方文档,说明!

正文

##一.安装ubuntu系统

##二.安装CUDA-7.5

    #检查自己的电脑是否具有安装CUDA的条件

a)检查GPU是否是CUDA-capable

    $ lspci | grep -i nvidia

    官网查看是否在列表中,并注意camput ability

b)检查自己的Linux版本书否支持CUDA(Ubuntu 14.04没问题)

c)检查自己的系统中是否装了gcc

    $ gcc --version

d)检查是否安装了kernel header和 package development

    $ uname -r 可以查看自己的kernel版本信息

    $ sudo apt-get install linux-headers-$(uname -r)可以安装对应kernel版本的kernel header和package development

    #选择安装CUDA的方式

CUDA提供两种安装方式:package manager安装和runfile安装。我本来选的是 package manager 安装,这种方法相对简单,但尝试了几次都失败。后来是转换到runfile安装才成功的。因此此处只介绍runfile安装方式。

a) 禁用 nouveau

    终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。

    Ubuntu的nouveau禁用方法:在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入一下内容

        blacklist nouveau  #第一个配置文件

        options nouveau modeset=0  

    打开终端,运行

        $ sudo update-initramfs -u

    设置完毕可以再次运行 $ lsmod | grep nouveau 检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。

b)安装依赖项

1. sudo apt-get install freeglut3-dev

2. sudo apt-get install build-essential

3. sudo apt-get install libx11-dev

4. sudo apt-get install libxmu-dev

5. sudo apt-get install libxi-dev

6. sudo apt-get install libgl1-mesa-glx

7. sudo apt-get install libglu1-mesa

8. sudo apt-get install libglu1-mesa-dev

重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户

c) 输入 $ sudo service lightdm stop 关闭图形化界面

d) 切换到cuda安装文件的路径,运行$ sudo sh cuda_7.5.18_linux.run

    遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以yes)。其他都选择yes或者默认。安装成功后,会显示installed,否则会显示failed。

e) 输入 $ sudo service lightdm start 重新启动图形化界面

Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。

如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。

f)重启电脑。检查Device Node Verification。

    检查路径~/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files).如果没有的话,可以参考官方文档里的指导步骤,进行添加。

g)设置环境变量。

    终端中输入 $ sudo gedit /etc/profile  在打开的文件末尾,添加以下两行。 #第二个配置文件

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

        $ export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64

保存文件。

    #安装完毕后的检查工作。

a) 检查 NVIDIA Driver是否安装成功

终端输入 :$ cat /proc/driver/nvidia/version 会输出NVIDIA Driver的版本号

b) 检查 CUDA Toolkit是否安装成功

终端输入 : $ nvcc --version 会输出CUDA的版本信息

c) 尝试编译cuda提供的例子

切换到例子存放的路径,默认路径是 ~/NVIDIA_CUDA-7.5_Samples

(即 /home/xxx/ NVIDIA_CUDA-7.5_Samples, xxx是你自己的用户名)

然后终端输入:$ make

d) 运行编译生成的二进制文件。

编译后的二进制文件 默认存放在~/NVIDIA_CUDA-7.5_Samples/bin中。

切换路径 : cd ~/NVIDIA_CUDA-7.5_Samples/bin

终端输入 :$ deviceQuery

看到类似如下图片中的显示,则代表CUDA安装且配置成功(congratulation!!)

###三.安装caffe

1.下载caffe:

# sudo git clone https://github.com/BVLC/caffe.git

2.安装第三方库:

# sudo apt-get install libatlas-base-dev

# sudo apt-get install libprotobuf-dev

# sudo apt-get install libleveldb-dev

# sudo apt-get install libsnappy-dev

# sudo apt-get install libopencv-dev

# sudo apt-get install libboost-all-dev

# sudo apt-get install libhdf5-serial-dev

# sudo apt-get install libgflags-dev

# sudo apt-get install libgoogle-glog-dev

# sudo apt-get install liblmdb-dev

# sudo apt-get install protobuf-compiler

3.安装opencv

# cd caffe

# sudo git clone https://github.com/jayrambhia/Install-OpenCV
# cd Install-OpenCV/Ubuntu

# sudo sh dependencies.sh

# cd 2.4

# sudo sh opencv2_4_10.sh

4.编译caffe

# cd ~/caffe

# sudo cp Makefile.config.example Makefile.config

# make all

5.配置运行环境

caffe运行时需要调用cuda的库,我们在/etc/ld.so.conf.d目录下新建一个cafe.conf文件,将所需要用的库的目录写入.

# sudo vi /etc/ld.so.conf.d/caffe.conf

添加内容:

    /usr/local/cuda/lib64 # 修改的配置文件

保存退出(:wq!)

更新配置

# sudo ldconfig

#########测设caffe

1.下载mnist数据

# cd ~/caffe

# sudo sh data/mnist/get_mnist.sh

# sudo sh examples/mnist/create_mnist.sh

2.修改配置文件

3.配置文件好后,就可以运行了

# sudo sh examples/mnist/train_lenet.sh

#########数据可视化环境(python)的配置

1.安装python和pip

a).下载

b).在终端执行(2.7版本):

    # bash Anaconda2-2.4.1-Linux-x86_64.sh

c).安装路径默认 /home/lx/anaconda2

d).环境变量默认 PATH in your /home/lx/.bashrc ? [yes|no]  #yes就好

安装完成!

2.编译python接口

首先,将caffe根目录下的python文件夹加入到环境变量

打开配置文件bashrc

    # sudo vi ~/.bashrc   #

在最后面加入

    export PYTHONPATH=/home/xxx/caffe/python:$PYTHONPATH

注意 /home/xxx/caffe/python 是我的路径,这个地方每个人都不同,需要修改

保存退出,更新配置文件

    # sudo ldconfig

3.修改配置文件

4.在/home/xxx/caffe下

    # sudo make pycaffe

5.重新编译

    # sudo make test -j4

    # sudo make runtest -j4

(也许你在编译runtest的时候,会报这样的错误:

.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5.so.10: cannot open shared object file: No such file or directory

这是因为 libhdf5.so的版本问题,你可以进入/usr/lib/x86_64-linux-gnu看一下,你的libhdf5.so.x中的那个x是多少,比如我的是libhdf5.so.7

因此可以执行下面几行代码解决:

# cd /usr/lib/x86_64-linux-gnu

# sudo ln -s libhdf5.so.7 libhdf5.so.10

# sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10

# sudo ldconfig



6.最终查看python接口是否编译成功:

    进入python环境,进行import操作

    # python

    >>> import caffe  #(遇到了问题)

            $ sudo gedit /etc/profile # 末尾添加: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

            最后解决方法:sudo chmod 777 -R  anaconda2(文件夹) 改变权限 然后conda install protobuf

  如果没有提示错误,则编译成功。

7.安装jupyter

  如果安装了anaconda, jupyter notebook就已经自动装好,不需要再安装

  运行notebook

    # jupyter notebook

    就会在浏览器中打开notebook,  点击右上角的New-python2, 就可以新建一个网页一样的文件,扩展名为ipynb。

    在这个网页上,我们就可以像在命令行下面一样运行python代码了。

    输入代码后,按 '''shift+enter运行''',更多的快捷键,可点击上方的help-Keyboard shortcuts查看,或者先按esc退出编辑状态,再按h键查看。

#########为了绘制CNN网格模型

1、安装GraphViz

    # sudo apt-get install GraphViz

        注意,这里用的是apt-get来安装,而不是pip.

2 、安装pydot

    # sudo pip install pydot

        用的是pip来安装,而不是apt-get

#########faster-rcnn的配置

如果前面的没有题,环境变量没有配置错误,这一步问题不大。

修改环境变量的时候要慎重小心,知道具体含义。或者做下记录。

#########

import opencv2失败

解决办法:

    1.要把opencv编译出来的cv2.so (/build/lib下)拷贝到anaconda2的lib目录下

    2.export PYTHONPATH=/home/lx/caffe/python:/home/lx/anaconda2/lib:$PYTHONPATH
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  caffe ubuntu CUDA 深度