nvidia驱动+cuda7.5+cuDNN-v5+opencv3.0+caffe-ssd 安装教程

来源:互联网 发布:电脑连接不到网络 编辑:程序博客网 时间:2024/06/05 22:55

nvidia驱动+cuda7.5+cuDNN-v5对别的框架也适用,是通用的。

Caffe是纯粹的C++/CUDA架构,支持命令行、PythonMATLAB接口;可以在CPU和GPU直接无缝切换:Caffe::set_mode(Caffe::GPU);

Caffe支持各种系统,速度快,文档全,支持CNN

Caffe的优势
上手快:模型与相应优化都是以文本形式而非代码形式给出。 
Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。
速度快:能够运行最棒的模型与海量的数据。 
Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms.
模块化:方便扩展到新的任务和设置上。 
可以使用Caffe提供的各层类型来定义自己的模型。
开放性:公开的代码和参考模型用于再现。
社区好:可以通过BSD-2参与开发与讨论。

注意先装cuda再装opencv,因为opencv库有需要用到cuda编译

操作系统: 64位 Ubuntu14.04

一.Cuda7.5安装

将下载好的cuda_7.5.18_linux.run放入linux系统中,假设放在Download文件夹中。

Ctrl+Alt+T进入命令行界面

a.Handle Conflicting Installation Methods

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

$ sudo apt-get --purge remove nvidia*

b.Graphical Interface Shutdown

退出GUI,也就是X-Win界面,操作方法是:同时按:CTRL+ALT+F1(F2-F6),切换到TTY1-6命令行模式,安装界面提示输入具有sudo权限的用户名和密码登陆。

执行下面命令关闭桌面服务:

$ sudo stop lightdm

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

c.Interaction with Nouveau

Nouveau是一个开源的显卡驱动,Ubuntu14.04 默认安装了,但是它会影响nVidia驱动的安装,所以需要将其关闭:

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

按下Insert键,在文档中写入:blacklist nouveau

保存并退出该文档即可。(按下“Esc”键后,再按下“:”键,输“wq!”)

$ sudo vi /etc/default/grub

按下Insert键,末尾写入:

rdblacklist=nouveau

nouveau.modeset=0

保存并退出该文档。(按下“Esc”键后,再按下“:”键,输“wq!”)

重启系统测试nouveau是否被禁用成功:

$ sudo reboot

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

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

$ lsmod | grep nouveau

d.Installation CUDA 7.5.18

CTRL+ALT+F1退出图形界面

$ sudo stop lightdm

切换到cuda_7.5.18_linux_64.run所在的目录(例如Download中),然后执行安装命令:

$ sudo cd Download

$ sudo sh cuda_7.5.18_linux_64.run

在安装过程中会询问用户相关的安装目录以及是否安装相关的其他的依赖库支持,当中途询问是否需要安装OpenGL相关内容是,请选择“no”(默认是“yes”),其他按照安装提示安装即可。

  我的提示:Driver:Installation Failed(如果没有遇到此项错误,跳到e继续执行)

解决方案:根据错误提示,说是缺少内核,通过查阅资料,返回命令行执行 sudo apt-get install linux-headers-generic

sudo apt-get install linux-source  返回d执行依然失败

这时请教了系统开发大神,执行 

cd /usr/srcls

如下如所示:


说是系统内核和cuda版本不匹配,我的系统是Ubuntu14.04.5建议更换cuda8.0(结果安装依然失败)或者重装系统降为低版本如Ubuntu14.04.2(没有尝试,之前一周重装了10+系统,不想再重装系统以及一些配置,在之后的安装完8.0,关机之后系统莫名其妙的崩了,然后果断重装Ubuntu14.04.4,安装cuda7.5,终于成功安装)。

寻找资料发现,可以先安装Nvidia驱动,查看电脑显卡信息命令:
lspci | grep VGA
lspci会显示所有的PCI接口设备,然后从中提取处显示相关的设备(VGA)。 

具体安装参考:http://blog.csdn.net/marleylee/article/details/77172267

安装完驱动有时会出现循环登陆问题(之前多次吃过这个亏),解决方法参考:

http://blog.csdn.net/marleylee/article/details/77172449

其实这里解决了内核问题,不用再单独安装驱动,重新从d开始执行。


e.安装完毕,用户可以选择回到GUI界面

$ sudo start lightdm

       如果可以切回图像界面,则CUDA基本安装成功。

f.POST-INSTALLATION ACTIONS

1.Environment Setup

环境变量配置

注意:如果在终端输入,则仅为当前终端下有效的环境变量,别的终端不能用;所以需要在所有用户通用的环境变量中设置,即在/etc/profile末尾设置。

$ sudo gedit ~/.bashrc

在末尾添加以下两行,写入环境变量。

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

exportLD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

让环境变量生效:

$ source ~/.bashrc

检查环境变量是否添加成功:输入env后,出现cudn相应的版本信息。

$ env

 

二.Opencv3.0安装

a.    安装OpenCV3.0关联库

$sudo apt-get install build-essential

$sudo apt-get install cmake git libgtk2.0-dev pkg-configlibavcodec-dev libavformat-dev libswscale-dev

这里如果出错,可能需要更新下软件包管理器里的软件列表:

$sudo apt-get update

b.   获取OpenCV 3.0源码文件,并解压

将下载好的OpenCV 3.0.0安装包放入linux系统中,假设放Download文件夹下。进入opencv文件夹下:

$cd Download/opencv-3.0.0/

$mkdir release

$cd release

c. 使用cmake来检测编译环境以及生成makefile和其他project信息,在使用cmake过程可以设置一些参数。

$cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

如果出现错误,参考http://blog.csdn.net/yaoweijiao/article/details/51332598 然后重新执行c步骤

d. 使用make编译

$sudo make

e. 安装

$sudo make install

只要没出错,到这步基本上安装成功。

三.Caffe 配置

1. 安装部分支持库

$sudo apt-get install libprotobuf-dev libleveldb-devlibsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-devlibgoogle-glog-dev liblmdb-dev protobuf-compiler

 

$sudo apt-get install freeglut3-dev libx11-dev libxmu-devlibxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

如果第二步出错,则分别安装:

sudo apt-getinstall freeglut3-dev

sudo apt-getinstall libx11-dev

sudo apt-getinstall libxmu-dev

sudo apt-getinstall libxi-dev

sudo apt-getinstall libgl1-mesa-glx

sudo apt-getinstall libglu1-mesa

sudo apt-get install libglu1-mesa-dev

2. 安装配置Nvidia cuDNN-v5 (也可下载v4版本,链接库文件时注意改名)

https://developer.nvidia.com/cudnn下载。

需要先注册为developer,审核通过就可以下载,大概审个两天就可以。这个主要是针对Deep Learning框架设计的NVIDIA CUDA的GPU计算加速方案。将下载好的cudnn-7.5-linux-x64-v5.1.tgz解压后放到linux中,例如放在Download下。进入该目录下:

b. 添加头文件和库文件

$cd Download/cuda/

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

$sudo cp lib64/libcudnn.* /usr/local/lib

c. 链接cuDNN的库文件(注意根据自己的cuDNN版本修改版本号)

$sudo ln -sf /usr/local/lib/libcudnn.so.5.1.10/usr/local/lib/libcudnn.so.5

 

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

 

$sudo ldconfig -v

3. 安装Atlas

$sudo apt-get install libatlas-base-dev

4. 安装Caffe所需要的Python环境

将下载好的Anaconda2-4.3.1-Linux-x86_64.sh放到linux中,例如放在Download文件夹下,并进入该目录。

$cd Download

$sudo bash Anaconda2-4.3.1-Linux-x86_64.sh

5. 编译Caffe

(1)下载caffe安装包

进入下载目录中$CAFFE_ROOT使用命令行下载最新版本的caffe(文件夹)。

$git clone https://github.com/weiliu89/caffe.git

如果需要安装SSD则需要以下命令进行

$cd caffe

$git checkout ssd

或者将自己已经下载好的安装包解压到指定路径下即可。

 

(2)进入caffe根目录,首先将Makefile.config.example复制一份改名为Makefile.config。然后修改里面的内容,主要需要修改的参数包括。

(注意前面不能有空格)如果安装python接口,则需要设置其路径。

USE_CUDNN := 1

OPENCV_VERSION := 3

CUDA_DIR := /usr/local/cuda

CUDA_ARCH  (设置目标GPU的计算能力,最大值不能太高,)

BLAS := atlas

ANACONDA_HOME := $(HOME)/anaconda2

PYTHON_INCLUDE : = $(ANACONDA_HOME)/include ..(省略)

PYTHON_LIB := $(ANACONDA_HOME)/lib

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

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

BUILD_DIR := build

DISTRIBUTE_DIR := distribute

TEST_GPUID := 0

 

(3)编译(在caffe的根目录下)

$sudo make all -j8 (如果出错,可能是编译太快,要么去掉-j8,要么把8变小)

出现错误:/usr/bin/ld:cannot find -lopenblas

解决方法参考:http://blog.csdpythonn.net/doral/article/details/45620857

$sudo make test -j8

$sudo make runtest -j8

error while loading shared libraries:libcudart.so.5.5: cannot open shared object file: No such file ordirectory

try:

32-bit: sudoldconfig /usr/local/cuda/lib

64-bit: sudoldconfig /usr/local/cuda/lib64



编译runtest的时候,遇到这样的错误:
.build_release/test/test_all.testbin: errorwhile loading shared libraries: libhdf5.so.10: cannot open sharedobject 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

可以用sudo make clean清除

编译python接口

$sudo make pycaffe

将生成的python路径添加到环境变量中

$ sudo gedit ~/.bashrc

在末尾添加,写入环境变量。

注意,将your_caffe_path写成自己编译python时生成的路径。

export PYTHONPATH=your_caffe_path/caffe/python:$PYTHONPATH

环境变量生效

$ source ~/.bashrc

 



reference:http://www.open-open.com/lib/view/open1421995285109.html
阅读全文
0 0
原创粉丝点击