Win10深度学习GPU环境搭建步骤

写在前面
建议安装过程尽量选择默认位置。
安装 Nvidia 显卡驱动
进入任务管理器 ——> 性能
查看个人的 GPU 型号,然后进入 NVIDIA 官网
选择适合自己的 GPU 型号下载对应驱动。显卡驱动尽量使用最新版本,如果已经安装的可以进行更新。

个人电脑如果是笔记本,产品系列一定要选择带有 Notebooks 字样的进行下载,接下来就是打开下载文件依次点击同意开始安装,选择默认安装目录即可:
最后进入CMD命令窗口,输入nvidia-smi
得到如下所示信息则表示安装成功:

注:显卡驱动的CUDA版本表示可安装的最新CUDA版本(可选择≤11.6的版本)
安装 CUDA Toolkit
根据显卡驱动的版本查看对应可安装的CUDA版本,可以参考下表(表格来源 ):

进入 Nvidia 提供的 CUDA Toolkit
, 比如我这里对应的 CUDA 版本是11.6,但我选择安装[CUDA Toolkit 11.5.2 (March 2022)
,点击下载并打开,安装路径依旧使用默认,依次点击同意安装完成即可:

安装完成后重启电脑,查看系统环境变量 Path,发现多出两项关于 CUDA 的路径:

安装 Visual Studio
这里建议安装 Visual Studio 2019 版本,进入Visual studio历史版本页面
选择Visual Studio Community 2019 (version 16.11)
进行下载,然后运行安装,安装过程需要勾选红框标注部分配置,其余自选:
根据自己的安装位置进入以下路径,如果找不到文件,建议下载 Everything,帮助我们在Windows上快速查找文件的软件,这里由于我之前安装了 VS2019,因此这里我们直接打开nbody_vs2019.sln
这个文件:
接着点击 Windows 搜索框选择进入 Developer Command Prompt for VS2019 应用,输入set TraceDesignTime=true
,再输入devenv
,然后启动 VS 2019 打开nbody_vs2019.sln
文件,切记命令窗口不要关闭:

点击生成解决方案,一般情况下会先遇到这个错误:

接着进入提出出现错误的路径,将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\visual_studio_integration\MSBuildExtensions
路径下的四个文件复制到对应上图提示的错误路径C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations
:

然后重新点击生产解决方案,得到以下提示成功!

验证 CUDA 是否安装成功,在 Powershell 中输入以下命令打开 nbody 目录:
cd ‘C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.5\bin\win64\Debug’
执行以下命令运行 nbody,可以看到 CUDA 使用的 GPU,按住Ctrl+C
停止运行:
.\nbody.exe

安装 cuDNN
接下来是按照 cuDNN,到这里进入cuDNN网站 ,点击 Download cuDNN,接着注册 Nvidia 的开发者账号并登录,然后选择对应的 CUDA 版本下载对应安装包:

这里有不同的安装方式,最简单的就是下载 .exe 文件,然后依次点击同意即可,这里我选择下载 zip 包的方式安装,以便后续多版本 CUDA 和 cuDNN 管理:

我们将下载好的 zip 包解压,将 CUDA 安装位置C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5
的 3 个文件使用解压后的zip文件进行替换,注意是进入每个目录分别替换文件夹:

验证安装是否成功
验证 CUDA 安装成功
进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\demo_suite
,路径框输入 cmd 即可进入该目录的终端,运行bandwidthTest.exe
和deviceQuery.exe
这两个应用程序,以下结果表示安装成功:
验证cuDNN安装成功
这里我们直接创建一个 tensorflow≥2.0 的 Python 环境进行测试:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.compat.v1.Session() as sess:
print (sess.run(c))
如果看到以下输出,则表示安装成功
多个版本的CUDA切换
这里继续安装CUDA 11.6
的版本,重复之前安装CUDA Toolkit 步骤,选择对应的 v11.6 的版本即可,在使用 Visual studio 验证部分,v11.6 版本中示例已被移除,并且对应的四个CUDA文件已经被安装到对应位置,因此无需再次复制。这里安装最新的 cuDNN 8.8.1。
进入电脑环境变量设置,发现在重新安装 CUDA 11.6 版本后,系统变量已由之前的 v11.5 变为 v11.6,现在我们重新切换到 CUDA v11.5 环境:

- 进入电脑环境变量设置,将系统变量下的
CUDA PATH
中的 v11.6 变为 v11.5

- 将系统变量下
v11.5
的两个相关文件置顶

- 再次验证,CUDA 版本由 v11.6 切换到 v11.5
