Ubuntu 16.04安装CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.

Caffe环境这是第四次配了,第一次是CPU版本,比较简单,很容易就配成功了。后面两次是GPU版本,但总有一堆问题。这次边配环境边记录下来,如果再遇到问题也好查找。版本说明如下:
Caffe: CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)

1.重装系统

(这一步简单,就省略了。其中有一步preparing to install Ubuntu,卡了有20分钟左右,好像是因为硬盘没有先格式化。我没有试,反正有时间,等着就好了。)

2. 安装五笔输入法

由于要边配边记录,所以就先安装输入法了。

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 im-switch -s ibus sudo apt-get install ibus-table-wubi killall ibus-daemon ibus-daemon -drx

第一条语句是安裝IBus框架,有些版本自带了框架,则不需要安装。
第二条语句是启动IBus框架。(安装的时候提示im-switch: command not found,原来是现在改成了im-config,然后在选项中选择ibus。)
第三条语句是安装五笔引擎。
第四条重启IBus输入法框架:Kill掉ibus进程(如果ibus没有运行,会显示:
ibus-daemon: no process found
然后
输入ibus-daemon -d
就出来了。)
第五条重启IBus输入法框架:重启进程

3. 装显卡驱动。

显卡型号:GTX950。
查看显卡型号:

lspci | grep VGA

再进入nvidia官网搜索对应的驱动版本。
由于命令行安装比较容易,所以采用命令行安装。
开始安装:
首先按住ctrl+Alt+F1进入文字界面,然后执行以下语句:

sudo apt-get purge nvidia-* sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-370 sudo reboot

重启后执行:

nvidia-smi

出现以下界面:

这里写图片描述


则代表显卡驱动安装成功。
顺便说一下截图功能:
进入System Settings--Keyboard--Shortcuts--Screenshots
我设置的:

这里写图片描述


选中的那个是Alt+print

gnome-screenshot -h

用来查看这些快捷方式

4. cuda8.0安装

简介:
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台CUDA?是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。开发人员现在可以使用C语言来为CUDA?架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA?的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
文件可在https://developer.nvidia.com/cuda-downloads下载。
参考安装。
下载完后进入目录:

cd Downloads/soft/

进行MD5检验,确保安装包正常:

sudo md5sum cuda.run

结果:

检验正确后,输入如下代码安装(第一行修改文件权限,第二行执行文件安装):

chmod 777 cuda.run sudo ./cuda.run --override

这里写图片描述


需要一直按住ENTER键。
后面选项答案依次为:
accept
n
y
/usr/local/cuda-8.0
y
y
/home/huhui
第三行配置询问是否要安装nvidia图形驱动器,一定要选n,因为之前已经安装过了,如果再安装则会报错。
如图:

这里写图片描述

5. CUDNN安装

下载地址:https://developer.nvidia.com/cudnn
cudnn-8.0-linux-x64-v5.1.tgz
进入下载目录:

cd Downloads/soft

我解压到上一层目录:(后面的-C ../不要就是解压到当前目录)

tar zxvf cudnn-8.0-linux-x64-v5.1.tgz -C ../

解压后有个cuda文件,内有include和lib64两个文件夹,进入include文件夹,执行如下命令复制头文件:

cd ../cuda/include/ sudo cp cudnn.h /usr/local/cuda/include/

再cd命令切换进lib64文件夹,执行如下命令复制动态链接库:

cd ../lib64/ sudo cp lib* /usr/local/cuda/lib64/

然后进入复制后的动态链接库进行新的链接。先进入目录:

cd /usr/local/cuda/lib64/

然后查看已有链接:

ls -al | grep libcudnn


删除原有动态文件:

sudo rm -rf libcudnn.so libcudnn.so.5

再次查看:

ls -al | grep libcudnn


已删除,现在建立新的链接:

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 sudo ln -s libcudnn.so.5 libcudnn.so

再次查看

ls -al | grep libcudnn


已链接好!
然后设置环境变量和动态链接库:

sudo gedit /etc/profile

然后再打开的文件末尾加上(“=”前后不要有空格)

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

保存之后创建链接文件:

sudo vim /etc/ld.so.conf.d/cuda.conf

这时出现(若未出现问题可跳过)

于是检查一下vim是否安装:

rpm -qa|grep vim


rpm没有安装,按照提示执行:

sudo apt install rpm

再执行

rpm -qa|grep vim

什么结果也没有返回。于是在命令行输入:

vim

出现结果:

这里写图片描述


为安装vim,输入命令:

sudo apt install vim

再执行

sudo vim /etc/ld.so.conf.d/cuda.conf

现在可以打开了。在文件加入以下内容:

/usr/local/cuda/lib64

按下esc,按下wq保存后退出。并在终端输入以下命令使该链接生效:

sudo ldconfig

使用sample里面的例子来测试还需要编译。因为当前的cuda还不支持gcc5.0以上的版本,在编译之前,我们需要修改配置文件,否则无法编译成功。(之前试过降低gcc版本,搞了很久没成功,这样改会有warning,但是还是先这样吧。)

cd /usr/local/cuda-8.0/include/ sudo cp host_config.h host_config.h.bak sudo gedit host_config.h

113行如下:

#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)

说明GCC版本要在5.3以下。查看自己的gcc版本:

gcc --version


5.4的版本,所以这句话需要改,于是我把3直接改成9:

#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 9)

保存后退出。然后进入用例文件进行编译(注意执行第二步命令时候需要较长时间是正常现象):

cd ~/NVIDIA_CUDA-8.0_Samples/ sudo make -j16

这里写图片描述


编译成功。

cd bin/x86_64/linux/release/ sudo ./deviceQuery

运行结果:

这里写图片描述


说明显卡驱动和cuda安装成功。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13360.html