一、前言
在进行深度学习模型训练时,可以使用CPU训练,但通常比较慢,也可以采用GPU进行加速训练,从而缩短训练时间。
目前支持深度学习的显卡只有NIVDIA,AMD是不支持的,因此AMD显卡的用户不用再纠结于CUDA的安装了,直接安装CPU版本的PyTorch就好了。
要使用GPU进行加速训练,要安装三个东西:CUDA、cuDNN、PyTorch。PyTorch大家都知道,是一个用于深度学习的开源库,当然这里用Tensorflow也可以,看个人喜好。
而CUDA和cuDNN可能一开始会分不清,通俗的说,CUDA是一个工具库,具有强大的计算能力;而cuDNN是一个该工具库的配置,使得模型可以被工具库理解,从而调用工具库进行计算。
即使是NVIDIA显卡,也要确定你的GPU(显卡)是否支持CUDA,有两种查看方式:
- 进入Nvidia控制面板(NVIDIA Control Pannel),帮助 -> 系统信息(I) -> 组件 -> 3D设置 -> 组件中的NVCUDA64.DLL对应的就是CUDA版本,如下图所示: CUDA版本
- 第二种方法适用于之前装过CUDA,想要确定版本的。进入命令行(cmd),执行以下指令,可以显示本机CUDA驱动的版本
nvcc -V
注意:用命令行查看CUDA版本,还有另外一种命令:nvidia-smi ,两种执行后结果可能不同,是因为nvidia-smi显示的是安装显卡驱动是顺带安装的CUDA版本,而nvcc -V显示的是通过CUDA Toolkit安装的CUDA,对于使用GPU训练DL模型,我们以nvcc -V显示的为准。
二、安装CUDA、cuDNN和PyTorch
因为CUDA和cuDNN都要迁就PyTorch(bushi),所以先打开PyTorch的安装网站:PyTorch
PyTorch安装页
按上图选择后,在Compute Platform这栏可以看到PyTorch官网目前只支持CUDA11.7和11.8,而我本机目前是CUDA12.0,因此需要降级。如果没有安装的,就安11.7或11.8
注:PyTorch可以向下兼容CUDA,即PyTorch版本可以高,但CUDA版本不能高
Windows安装 CUDA ,首先需要下载两个安装包
- CUDA toolkit(toolkit就是指工具包)CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer
- cuDNN(用于配置深度学习使用)
CUDA的安装
要注意进入官网默认是下载最新版本(12.1),要选择之前的版本(Archive of Previous CUDA Releases):
CUDA下载页1
我这里选择安装11.8.0版本:
CUDA下载页2
选择自己的系统版本和安装方式,安装方式"local"和"network",分别为3.0GB和29MB,个人的理解一个是完整安装包,一个是简易安装包、使用时再预下载,这里选择local安装方式,下载完成后一路next安装即可,安装结束后进入环境变量,有如下变量即为成功(安装地址是我自定义的):
CUDA环境变量
如果在安装CUDA的时候没有选择路径,且选择了简易安装,则默认路径为以下:
C:\Program Files\NVIDIA GPU Computing Toolkit
如果出现上述的环境变量,说明安装CUDA成功,此时进入命令行(cmd),执行指令 nvcc -V,可以看到cuda版本:
查看本机CUDA版本
cuDNN的安装
第一步完成,接下来是cuDNN的安装,https://developer.nvidia.com/rdp/cudnn-download,这里下载cuDNN需要注册一个Nvidia的账号,可能需要科学上网,之后就是选择刚刚安装的**CUDA版本对应的cuDNN**
注意:CUDA和cuDNN版本一定要对应,不存在互相上下兼容等,一定要对应!
cuDNN下载页
刚刚CUDA版本为11.8,因此cuDNN选择“for CUDA 11.x",cuDNN的安装方式为压缩包,直接解压即可,解压后得到以下内容:
cuDNN解压目录
CUDA可以看作是工具,而cuDNN是工具的配置,因此要将cuDNN文件夹内的**bin+include+lib**这三个文件夹拷贝进**CUDA刚刚的安装目录下**,默认的安装目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8,我是在F盘的CUDA文件夹,具体取决你安装的位置。
拷贝完成后,CUDA和cuDNN 安装都已经完成,接下来进行测试,看是否安装成功。
三、验证是否安装成功
打开命令行界面,cd进入到安装CUDA的目录下,再进入\extras\demo_suite目录内,分别执行该目录下的两个应用(bandwidthTest.exe、deviceQuery.exe)来测试是否安装成功:
bandwidthTest.exe运行结果
deviceQuery.exe运行结果
两个exe执行后都如上所示,Reulst = Pass,代表CUDA和cuDNN都安装成功,下篇文章将会介绍PyTorch的安装以及常见的问题解决
希望能对你有所帮助!
版权归原作者 Tech1diot 所有, 如有侵权,请联系我们删除。