前言

用CPU来跑深度学习是真的慢,差不多20s 10组吧,没有夸张,因此就打算用用GPU加速.但是Tensorflow这个GPU吧又不是很好搞,其实一开始在安装完Tensorflow 2.2.0 后运行Tensorflow程序后就发现有一堆红字,一堆警告
就是各种找不到文件,然后由于这些原因就无法进入GPU加速,只能进入跟爬一样的CPU模式
貌似大部分缺的包跟一个叫做CUDA的工具包有关

这里声明一下,因为本人深受CSDN上某些人写的文章所害,所以本人一直秉承着客观的态度来写博客,在每个细节方面都会注意,比如版本,配置方面我会着重强调,以免部分人不清楚自己的配置版本而文章又没有提及导致一味跟着方法走选择了完全错误的方法最终无法解决

解决

于是就去网上找了一下解决方案
没啥效果,CSDN又是各种CV然后各种解决不了
但是不搞又不行,1分钟30组,以后遇到训练量几千几万的数据岂不是直接没了
于是回到控制台仔细查看输出信息,果然发现了一行输出信息有玄机

具体是什么我忘记了
里边有包含一个网址
https://www.tensorflow.org/install/gpu
链接

点进去之后发现就是tensorflow官方的GPU加速指导

看这里
9.PNG

也就是说要完成GPU加速,必须同时满足硬件要求和软件要求

硬件

本人的显卡是中庸的NIVIDA GeForce GTX 1050 Ti
computeCapability: 6.1

因此各位大佬在进行下一步操作前务必检查自己的显卡是否支持CUDA
https://developer.nvidia.com/cuda-gpus
点击此链接查看所有CUDA支持的型号

反正GTX 1050 Ti是支持的,虽然支持榜单中只有GRX 1050(不是很懂显卡)

软件

完成硬件检查后,开始搞软件了
原来有这么多东西要装,人都没了
第一个GPU驱动程序我没装,但是从后期的运行效果来看的话应该是已经装了(就是显卡驱动程序吧)

CUDA

第二个CUDA工具包是本次安装的重头戏
点击链接进入CUDA安装
我安装的是 CUDA 10.1注意,再次强调我的TensorFlow是2,2,0版本的,所以老版本的TensorFlow(1代)就要注意了不要傻傻跟着步骤走
整整2G多,最好有所准备
下好之后进入安装程序,注意因为一般会安装在C盘,所以C盘空间要准备好(我差点满了)
开头会验证当前配置是否满足,通过之后就可以一路下去了

然后就等待安装
1.PNG
2.PNG
3.PNG
4.PNG
5.PNG

安装完之后会发现C盘Program Files目录底下多了个NVIDIA GPU Computing Toolkit

点进去就是CUDA了
随后就是环境变量的添加
将CUDA所在文件夹目录下的bin文件夹和lib文件夹中的x64文件夹作为环境变量
举个例子
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin

添加到环境变量Path
然后CUDA的配置基本就完成了

第三个工具包在安装的时候应该有自带,我没装,后来证实了没装也可以运行

cuDNN SDK

同样是点进链接,然后点击下载,**注意的是下载这个需要注册成为nivida developers,注册一下然后就可以下载
注意各个cuDNN SDK对应的CUDA的版本
踩过一次坑,下成CUDA 10.2版本对应的SDK了
如果是CUDA 10.1的话直接下cuDNN v7.6.5.32就行了,反正看清楚是最重要的

下完之后在C盘新建一个tools文件夹(按照官方教程走的)
然后把压缩文件中的整个cuda文件夹放进去
随后你会发现SDK里面又有一个bin文件夹
不用多说,设置环境变量吧

设置完之后,基本已经完成了所有操作了

官方原话

这里有些人可能还不是很理解上面的部分操作,就把官方教程的部分原话贴了过来

请参阅上面列出的硬件要求和软件要求,并阅读适用于 Windows 的 CUDA® 安装指南。

确保安装的 NVIDIA 软件包与上面列出的版本一致。特别是,如果没有 cuDNN64_7.dll 文件,TensorFlow 将无法加载。要使用其他版本,请参阅在 Windows 下从源代码构建指南。

将 CUDA、CUPTI 和 cuDNN 安装目录添加到 %PATH% 环境变量中。例如,如果 CUDA 工具包安装到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1,同时 cuDNN 安装到 C:\tools\cuda,请更新 %PATH% 以匹配路径:

这四条命令我也有在cmd里面执行过,大佬们最好也执行一遍

    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
    SET PATH=C:\tools\cuda\bin;%PATH%
    

如果版本有变动记得根据实际情况修改路径名称,别一味CV
接下来就是见证奇迹的一刻了
打开pycharm项目

10.PNG

8.PNG

泪目,终于成功了,从九点折腾到十一点
1秒10组的水平,舒服了

其他相关错误

虽然本人找到了适合自己的解决方法,但是在一路的查询中也踩过不少坑,如果有大佬还没解决问题的话,给出这些建议与网址

could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED

个人建议首先检查cuDDN SDK有没有装对,一定要和所装的CUDA版本对应,同样CUDA也要和所对应的Tensorflow版本相符合

如果版本啥的都没问题,看看以下网址

GPU占用问题
https://blog.csdn.net/ghy_111/article/details/86672450

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议