背景:

最近进入到深度学习的行列中,由于笔记本带有独显,并且在网上看到许多博客都说深度学习通过GPU加速可以提高训练的速度,所以我就在想我也不能浪费了我的独显,最后决定尝试配置CUDA和cuDNN来体验一下GPU加速带来的乐趣。

配置:

系统:Windows10 2004
内存:16GB
处理器:Intel® Core™ i7-9750H CPU @ 2.60GHz
图形卡:NVIDIA GeForce RTX 2060
集成开发环境:PyCharm 2020.2.1
Python版本:3.8.5
TensorFlow版本:2.3.0
Keras版本:2.4.3(我学习的是Keras所以把它的版本也放上来了。)

注意事项:

我看到许多博客都说需要配置环境变量,但是我通过实践发现,并不需要配置环境变量!
在开始安装CUDA和cuDNN前,最好先把显卡驱动更新到最新版本。
查看自己的GPU是否支持CUDA可以在这个网址中查看:https://developer.nvidia.com/cuda-gpus

查看TensorFlow支持的CUDA和cuDNN版本(更新):

网址:https://tensorflow.google.cn/install/gpu

GPU硬件加速技术有哪些 硬件gpu加速计划_GPU硬件加速技术有哪些

查看TensorFlow支持的CUDA版本:

为什么我把这个放在第一步呢?是因为我在这一步中吃了一次大亏,因为没有注意到TensorFlow支持的CUDA版本,而安装了暂时还不支持的CUDA最新版。

我们可以运行一个深度学习的项目,看到下面一行红色的字:

GPU硬件加速技术有哪些 硬件gpu加速计划_tensorflow_02


这段文字的意思是没有找到动态链接库’cudart64_101.dll’,我们可以看到动态链接库的名字是“cudart64_101”,我们可以理解成它支持的是CUDA101也就是CUDA的v10.1版本。

结论的由来:我第一次安装的时候安装了CUDA的v11.0版本,而我在安装目录中看到了’cudart64_110.dll’,没有看到所谓的’cudart64_101.dll’,所以我就觉得自己是安装错了CUDA的版本了,后来安装CUDA的v10.1版本后在安装目录中就找到了’cudart64_101.dll’,问题得到了解决!

查看TensorFlow支持的cuDNN版本:

为什么我把这个放在第二步呢?对的没有错,因为我在这一步也吃了一次大亏,因为没有注意到TensorFlow支持的cuDNN版本,而下载了暂时还不支持的cuDNN最新版。

我们可以运行一个深度学习的项目,看到下面一行红色的字:

GPU硬件加速技术有哪些 硬件gpu加速计划_tensorflow_03


这段文字的意思是没有找到动态链接库’cudnn64_7.dll’,我们可以看到动态链接库的名字是’cudnn64_7’,我们可以理解成它支持的是cuDNN7也就是cuDNN的v7版本。

结论的由来:我第一次复制的时候复制了cuDNN的v8版本,而我在复制目录中看到了’cudnn64_8.dll’,没有看到所谓的’cudnn64_7.dll’,所以我就觉得自己是复制错了cuDNN的版本,后来复制了cuDNN的v7版本后,问题得到了解决!

安装CUDA:

网址:https://developer.nvidia.com/cuda-zone

进入首页点击“ Download Now ”。

GPU硬件加速技术有哪些 硬件gpu加速计划_深度学习_04


到这一页,点击“Legacy Releases ”寻找自己要下载的CUDA版本。(不推荐直接下载最新版本,因为TensorFlow不一定会支持CUDA的最新版本。)

GPU硬件加速技术有哪些 硬件gpu加速计划_cuda_05


在我上面提到的配置中适用“CUDA Toolkit 10.1 ”所以我下载这个。

GPU硬件加速技术有哪些 硬件gpu加速计划_GPU硬件加速技术有哪些_06


选择好自己的系统版本等信息后,点击下载即可。

这里提供了在线安装和离线安装两个选项,我这里选择的是在线安装。

GPU硬件加速技术有哪些 硬件gpu加速计划_tensorflow_07


双击打开即可。

GPU硬件加速技术有哪些 硬件gpu加速计划_深度学习_08


安装步骤:

  1. 双击打开。
  2. 可以什么都不更改,默认下一步。
  3. 有一个页面我们可以选择“精简”还是“自定义”,这里的精简实质上指的是默认全部安装,可能是让我们用户操作上比较简单,所以翻译成精简吧。如果要安装所有组件的话,直接默认第一个“精简”的选项就可以了。
  4. 我的是在线安装,所以需要等待下载。
  5. 下载完毕后自动安装,安装成功后结束即可。

安装cuDNN:

网址:https://developer.nvidia.com/cudnn

下载cuDNN需要登陆NVIDIA账号,并且第一次下载的时候需要填写一些信息和问卷。

GPU硬件加速技术有哪些 硬件gpu加速计划_GPU硬件加速技术有哪些_09


需要先同意他的条款,然后这里我需要安装的是cuDNN v7版本,而不是最新的v8版本,所以选择“Archived cuDNN Releases ”。

GPU硬件加速技术有哪些 硬件gpu加速计划_GPU硬件加速技术有哪些_10


在这里需要注意的是cuDNN版本和CUDA版本应该对应上,例如我安装的是CUDA的v10.1版本,所以选择“Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1”。

GPU硬件加速技术有哪些 硬件gpu加速计划_cuda_11


因为我的是Windows10系统所以选择“cuDNN Library for Windows 10”,下载即可。

GPU硬件加速技术有哪些 硬件gpu加速计划_深度学习_12


下载后是一个压缩文件。

GPU硬件加速技术有哪些 硬件gpu加速计划_cuda_13


然后我们解压这个压缩文件,可以看到里面有“bin”,“include”和“lib”三个文件夹。

GPU硬件加速技术有哪些 硬件gpu加速计划_python_14


我们来到CUDA的安装目录也可以看到三个同名的文件夹,将cuDNN中“bin”,“include”和“lib”三个文件夹的文件复制到对应的CUDA安装目录下同名的文件夹中即可。

我的CUDA安装目录是:“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1”大家仅供参考。

GPU硬件加速技术有哪些 硬件gpu加速计划_python_15


再次强调:不需要配置任何变量环境!!!

安装完成开始测试:

完成上面的所有步骤后,可以尝试运行深度学习项目。

这里是我的演示,可以看到已经“专用GPU内存利用率”已经再项目运行中跑到了非常高的占用。

GPU硬件加速技术有哪些 硬件gpu加速计划_tensorflow_16


开始GPU加速的快乐吧!