ubuntu16.04 + cuda10.0 + cudnn7.6安装(安装经验总结)

近期因为要学习深度学习相关知识,需要搭建深度学习环境。配置环境过程中,遇到了很多坑,如今记录一下,以备后续参考。

安装环境:

- ubuntu 16.04 64bit
- 显卡:NVIDIA 1660ti + 集成显卡gtx720

- 驱动:nvidia 430.05

- 软件:cuda_10.0.130_410.48_linux.run + cudnn-10.0-linux-x64-v7.6.3.30.solitairetheme8

首先要了解配置深度学习环境所需要的软件版本对应关系。

1)cuda与显卡驱动的版本对应关系:

cuda各版本链接:https://developer.nvidia.com/cuda-toolkit-archive

2.内核版本确认

在安装显卡驱动之前,首先要查看ubuntu16.04对应的内核版本,可以参考https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

从上表可以看出是4.4,由于我的是4.15,需要将它降级到4.4。

a.查看当前安装的内核版本
dpkg -l|grep linux-image
b.查看可以更新的内核版本
sudo apt-cache search linux-image
c.安装新内核
sudo apt-get install linux-image-4.4.0-77-generic linux-image-extra-4.4.0-77-generic
d.更新grub引导
sudo update-grub
e.重启按Esc或Shift+Tab选择Ubuntu高级选项,进入4.4的内核
f.卸载不要的内核
sudo apt-get purge linux-image-xx-xx-generic linux-image-extra-xx-xx-generic
g.更新grub引导
sudo update-grub

h. 查询当前gcc版本:

gcc -v 

i. 查看glibc版本方法有两种:

第一种为:ldd --version;

第二种方法为:getconf GNU_LIBC_VERSION。

2.显卡驱动安装

 

1 禁用自带的显卡驱动nouveau

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在其中加入:

blacklist nouveau option nouveau modeset=0

然后

sudo update-initramfs -u

重启系统(一定要重启)

 

验证nouveau是否已禁用

lsmod | grep nouveau

没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。

 

2.2 加入环境变量

sudo gedit ~/.bashrc

在其中加入:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

执行

source ~/.bashrc

2.3安装NVIDIA显卡驱动

在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:http://www.nvidia.cn/page/home.html

我下载的版本:NVIDIA-Linux-x86_64-430.05.run(注意不同的版本最后安装执行的具体选项不同)

下载后的run文件拷贝至home目录下。

 

查看自己的显卡型号:

sudo lshw -numeric -C display

如果之前安装过nvidia驱动,先卸载:

sudo apt-get remove --purge nvidia-*

Ctrl-Alt+F1 进入命令行界面

cd Downloads
sudo service lightdm stop      //这个是关闭图形界面,不执行会出错。
sudo /etc/init.d/lightdm stop #关闭当前图形环境令
sudo chmod a+x NVIDIA-Linux-x86_64-430.05.run #给驱动run文件赋予执行权限
sudo ./NVIDIA-Linux-x86_64-430.05.run --no-x-check--no-nouveau-check --no-opengl-files  
# 这句一定要加参数,不然就会循环登录。

如果进入循环登录,要再次Ctrl-Alt+F1 进入命令行界面,卸载驱动:
sudo apt-get remove –purge nvidia-*

  • –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
  • –no-check 安装驱动时不检查X服务
  • –no-nouveau-check 安装驱动时不检查nouveau

后面两个参数可不加(Ps: 没懂 - 与 - - 的区别,貌似都可以,我上面写的是两个- -哦)。

sudo /etc/init.d/lightdm start #重新启动图形环境
sudo service lightdm start
reboot

3. 安装cuda

去官网下载:https://developer.nvidia.com/cuda-downloads

注意一定要下载runfile。

Ctrl-Alt+F1 进入命令行界面

 

cd Downloads

sudo service lightdm stop #禁用X服务
sudo /etc/init.d/lightdm stop #一样的命令

chmod +x ./cuda_10.0.130_410.48_linux.run  #给文件添加运行权限:

sudo sh cuda_10.0.130_410.48_linux.run --no-opengl-libs

注:第一条问是否安装nvidia驱动,选择no,后面一直输入yes就行

 

sudo /etc/init.d/lightdm start #启用服务

reboot

重启之后进入修改环境配置

 

sudo gedit ~/.bashrc

加入:

 

export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

执行: 

 

source ~/.bashrc

1)测试安装是否成功:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

显示gpu信息,说明安装成功。

查看显卡情况:nvidia-smi

2)测试是否安装成功

nvcc -V

 

4. 配置cuDNN

4.1 官网下载:https://developer.nvidia.com/rdp/cudnn-download

注册账号之后,下载对应版本的cudnn

下载完直接解压,解压会出现一个cuda文件夹,里面有两个文件include 和 lib64,把里面的文件copy到/usr/local/cuda/里面相应的目录里。 如果你就在local下解压的就不要移动了。只需要给文件加读权限即可!

cd Downloads

4.2解压

tar -xzvf cudnn-10.0-linux-x64-v7.6.3.30.tgz

 

43.把include/ 和 lib64/目录下的文件拷贝到cuda的安装目录下的include/ 和 lib64里面

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

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
 

5. 验证cudnn是否安装成功

5.1查看cudnn版本
在终端输入

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  •  

如果出现版本信息,说明安装成功。

 

5.2当选择Debian File进行安装时会在/usr/src/cudnn_samples_v7有一些cudnn的例子

编译mnistCUDNN sample进行验证

cp -r /usr/src/cudnn_samples_v7/ $HOME

cd  $HOME/cudnn_samples_v7/mnistCUDNN

make clean && make

./mnistCUDNN

如果安装成功将会有如下图所示的:Test passed!

 

卸载CUDA以及CUDNN

(1)卸载CUDA

sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl 

(2)卸载CUDNN

删除原来的cudnn文件:

sudo rm -rf /usr/local/cuda-10.0/lib64/libcudnn*

sudo rm -rf /usr/local/cuda-10.0/include/cudnn.h

 

参考文章:

ubuntu16.04 + NVIDIA驱动 + CUDA + cuDNN + tensorflow-gpu + keras安装https://blog.csdn.net/FYZ530357172/article/details/79207764

ubuntu16.04安装cuDNN的两种方式以及验证

https://blog.csdn.net/dudu815110/article/details/88592558

Ubuntu 16.04 上 CUDA_10.0及cuDNN的安装,

https://blog.csdn.net/lihe4151021/article/details/90237681

Ubuntu 16.04 下cuda和cudnn的卸载和升级

https://blog.csdn.net/wanzhen4330/article/details/81704474

Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装

https://www.cnblogs.com/xiaojianliu/p/9312098.html

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章