深度学习环境搭建——Ubuntu + CUDA + cuDNN安装全套教程

深度学习环境搭建——Ubuntu + CUDA + cuDNN安装

  • 1 系统安装
    • 1.1 禁用 nouveau 驱动
    • 1.2 系统安装
  • 2 安装NVIDIA Driver
  • 3 CUDA安装与卸载
    • 3.1 CUDA安装
    • 3.2 CUDA卸载
    • 3.3 关于CUDA的报错
  • 4 cuDNN安装与卸载
    • 4.1 cuDNN安装
    • 4.2 cuDNN卸载

  • 本次安装各个版本:
    ① Ubuntu 18.04.2 LTS
    ② Nvidia Driver 440.36
    ③ CUDA 10.0.130_410.48_linux
    ④ cuDNN 10.0-v7.6.5.32-linux

1 系统安装

因为后续需要安装 Nvidia Driver ,所以需要禁用 Ubuntu 自带的 nouveau 驱动,试过多种办法,发现有以下问题,若安装好 Ubuntu 后禁用,会导致重启系统后无法进入(不知具体原因)。

1.1 禁用 nouveau 驱动

后找到如下方法,成功禁用 nouveau 驱动。

  • 安装 Linux 系统之前先关闭 Security Boot!(不同主板引导界面中该选项的位置可能不太一致,但是大多数都是 在BIOS boot 选项中的)
  • 在进入grub安装界面的时候,选中 Install Ubuntu 选项后按e,进入命令行模式,然后在 ‘quiet slash --’ 后面(也可能没有 – ),添加以下内容 ‘acpi_osi=linux nomodeset’ ,然后按F10重新引导。
	quiet slash -- acpi_osi=linux nomodeset

修改上述选项可以在开机的时候,禁用nouveau 显卡。

1.2 系统安装

修改完成以上步骤后,进入系统安装选项,正常设置即可。一般分四个区:efi分区:500MB;swap分区:大致等于内存1~2倍大小;根目录“/”分区():100G左右,根据硬盘大小确定;“/home”目录:剩下所有的容量。
重新引导之后,可能会出现安装的窗口有一部分屏幕下方,导致部分按钮无法点击。此时,按下Alt+F7,鼠标会变成手指图标,即将窗口向上拖动即可。
安装完成,重启。

参考

2 安装NVIDIA Driver

注意: 在CUDA Toolkit Documentation 中,有对应的NVIDIA Driver版本和CUDA版本。
一定要下载安装配套的版本!!!!!

重启进入 Ubuntu 以后,要立即安装 NVIDIA 的显卡驱动。可以通过三种方式安装,现在只介绍手动安装方法:
去 NVIDIA 官网查看并下载合适驱动版本:NVIDIA驱动官网
注意: 存储路径名不要有中文!
停止可视化桌面:

	$ sudo telinit 3

之后会进入一个新的命令行会话,使用当前的用户名密码登录
在相应路径下安装NVIDIA驱动(安装文件也可为.sh后缀,如果提示没有权限使用sudo):

$ bash NVIDIA-Linux-x86_64-384.111.bin

按照以下步骤:
Accept License
The distribution-provided pre-install script failed! Are you sure you want to continue? -> CONTINUE INSTALLATION
Would you like to run the nvidia-xconfig utility? -> YES
在安装结束后,在命令行输入一下命令重启,NVIDIA驱动即可安装成功:

$ sudo reboot

测试nvidia 驱动是否成功安装,使用以下命令:

nvidia-smi 
nvidia-settings

3 CUDA安装与卸载

3.1 CUDA安装

注意: 在CUDA Toolkit Documentation 中,有对应的NVIDIA Driver版本和CUDA版本。
一定要下载安装配套的版本!!!!!

选好合适的版本后下载CUDA,下载地址:CUDA下载

下载好以后,执行以下命令安装:

sudo sh cuda_10.2.89_440.33.01_linux.run

安装时,会自动安装一个 NVIDIA 驱动,若安装失败,则可以取消驱动安装选项(前提是已经安装好了NVIDIA驱动)。如果安装CUDA时没有选择安装驱动,之后可通过以下命令进行安装:

# To install the driver using this installer, run the following command, replacing  with the name of this run file:
sudo <CudaInstaller>.run -silent -driver

安装完成后,使用以下命令检查CUDA是否安装:

nvcc -V

若提示找不到nvcc,则按照以下方法添加环境变量:

su root
vi ~/.bashrc
# 在文件末尾添加环境变量,cuda-***版本需要为安装的对应版本
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
# wq! 保存退出
# 更新配置文件
source ~/.bashrc

添加以后即可使用nvcc 。

3.2 CUDA卸载

  • 卸载指令:
	sudo /usr/local/cuda-10.2/bin/cuda-uninstaller
  • 删除残留文件:
	sudo rm -rf /usr/local/cuda-10.2/

3.3 关于CUDA的报错

  1. 若在PyCharm中使用gpu报如下错误:
	Could not dlopen library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
	Could not dlopen library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
	Could not dlopen library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
	Could not dlopen library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
	Could not dlopen library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
  • 解决办法:使用如下代码依次将报错中提示的文件copy到如下目录中。
	sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig
	sudo cp /usr/local/cuda-10.0/lib64/libcufft.so.10.0 /usr/local/lib/libcufft.so.10.0 && sudo ldconfig

4 cuDNN安装与卸载

4.1 cuDNN安装

在NVIDIA官网 cuDNN 下载对应所安装的CUDA版本的cuDNN。
共下载4个文件:

  • cuDNN Library for Linux;
  • cuDNN Runtime Library for Ubuntu18.04 (Deb);
  • cuDNN Developer Library for Ubuntu18.04 (Deb);
  • cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)。

安装过程:

  1. 安装过程实际上是把cudnn的头文件复制到CUDA的头文件目录里面去;把cuDNN的库复制到CUDA的库目录里面去。
    首先需要将下载的cudnn解压,之后再执行如下命令:
	# 复制cudnn头文件至指定文件夹
	sudo cp ./cuda/include/* /usr/local/cuda-10.0/include/
	# 复制cudnn的库至指定文件夹
	sudo cp ./cuda/lib64/* /usr/local/cuda-10.0/lib64/
	# 添加可执行权限
	sudo chmod +x /usr/local/cuda-10.0/include/cudnn.h
	sudo chmod +x /usr/local/cuda-10.0/lib64/libcudnn*
  1. 另外3个文件夹,执行以下命令:
	sudo dpkg -i libcudnn7_7.4.2.24-1+cuda9.0_amd64.deb
	sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda9.0_amd64.deb
	sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda9.0_amd64.deb
  1. 检测是否安装成功:
cp -r /usr/src/cudnn_samples_v7/ /home/jason/
cd /home/jason/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

若显示 Test passed! ,则安装成功。

4.2 cuDNN卸载

因为cuDNN是一种插件式设计,所以直接删除文件即可:

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

你可能感兴趣的:(ML&DL,linux,ubuntu,cuda,深度学习,tensorflow)