欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu18.04 安装 显卡驱动 Nvidia Driver CUDA CUDNN 与GPU 版本的Pytorch

程序员文章站 2022-07-06 11:05:29
...

Ubuntu18.04 安装 显卡驱动 Nvidia Driver CUDA CUDNN 与GPU 版本的Pytorch

2.1 为何选择PyTorch?

Pytoch 由4个主要的包组成:

  • torch: 类似于Numpy的通用数组库,可将张量类型转换为torch.cuda.TensorFloat,并在GPU上进行计算。
  • torch.autograd: 用于构建计算图形并自动获取梯度的包
  • torch.nn: 具有共享层和损失函数的神经网络库
  • torch.optim: 具有通用优化算法(如SGD、Adam等)的优化包。

2.2 安装配置

在安装过程中,使用的机器为4*GPU工作站,重点关注如何安装GPU版本的PyTorch。
安装过程:

1. 安装Python

通过Anaconda进行安装,同时通过Anaconda进行python相关的包管理;

2. 安装Nvidia Driver:

建议通过.bash文件的形式进行安装,首先去Nvidia官网下载所需版本的驱动文件:

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

在文件夹最末尾处添加命令

blacklist nouveau
options nouveau modeset=0
  • 更新内核
sudo update-initramfs -u
  • 重启系统
  • 在登录界面按 Ctrl + Alt + F1(2/3/4/5/6),目的是进入命令行界面,登录后,查看:

特别提醒:
对于有些机器,禁用自带显卡驱动后,如果显示器插在GPU上的话,大概率重启后会一直黑屏了,解决方案:

  • 将显示器插到主板上的显示器端口上,然后断电重启;
  • 断电重启系统,开机过程按esc(按下的频率别太高了,不然直接进grub了,如果进入的话,reboot再重来就行)进入引导界面后,选第二项高级选项,然后进入后,选root模式,就可以进入命令行界面了,这时可以进行驱动程序的安装。
lsmod | grep nouveau

查看nouveau模块是否被加载,如果什么都没有输出,则执行下一步,不行的话重新操作前面三步

  • 命令到你下载的显卡驱动的路径
cd /home/用户名

对驱动文件赋权

sudo chmod 755 Nvidia(驱动)
  • 关闭集显
sudo service lightdm stop 
  • 安装驱动
sudo bash Nvidia(驱动)(–no-opengl-files)

注意:-no-opengl.files 如果添加的话,在调用Unity加速的时候可能会无法使用GPU加速,但是不加的话,有些机器开机会卡在循环登录界面,加上与不加均不会影响PyTorch的使用。
-**Accept License(**接受协议)
-Select Continue Installation(选择继续安装)
-Select “NO” to not install 32bit files(选择NO不要安装32位文件)
-Select “NO” to rebuilding any Xserver configurations with Nvidia.

  • 重启系统,
reboot
  • 查看驱动是否安装成功
nvidia-smi

能够看到显卡型号以及使用情况说明显卡驱动安装成功。
另外,在系统设置里面的详情里,如果安装显卡驱动成功的话,能够看到显卡型号。

3 安装cuda

详细的安装过程可以参考:

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
在第4步有通过run文件安装cuda的方法
特别注意的地方:
安装cuda也需要先关闭界面服务,按照顺序从上到下做下来的话,这一步已经完成了

sudo sh cuda_10.1.105_418.39_linux.run
  • 完成安装后,需要配置环境变量,在官网教程的第7部分有详细的教程,总结如下:
export PATH=/usr/local/cuda-10.1/bin:/usr/local/cuda-10.1/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Note that the above paths change when using a custom install path with the runfile installation method.

3 安装cudnn

通过官网下载安装文件https://developer.nvidia.com/cudnn,这一步需要nvidia账号。
Ubuntu18.04 安装 显卡驱动 Nvidia Driver CUDA CUDNN 与GPU 版本的Pytorch
安装教程建议也参考官网教程进行安装:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#verify
下载的文件后缀为 solitairetheme8直接改成.tgz就行。
然后:

tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
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*

4. 安装PyTorch

官网教程:https://pytorch.org/get-started/locally/
Ubuntu18.04 安装 显卡驱动 Nvidia Driver CUDA CUDNN 与GPU 版本的Pytorch
执行如下命令即可

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

5 验证安装成功

验证驱动

nvidia-smi

验证cudnn
新建文件:test_gpu.py

import torch
if __name__ == '__main__':
	# 测试cuda
	print("Support CUDA?:", torch.cuda.is_available())
	x = torch.tensor([10.0])
	x = x.cuda()
	print(x)
	y = torch.randn(2,3)
	y = y.cuda()
	print(y)
	z = x+y
	print(z)
	# 测试CUDNN
	from torch.backends import cudnn
	print("Support cudnn ?:", cudnn.is_acceptable(x))

运行文件:

python test_gpu.py

两处打印support的地方均能够看到true即可。