Win10下Tensorflow-gpu使用cpu训练而不是gpu加速

问题1:明明安装好了tensorflow-gpu,但是运行代码时无法使用gpu加速

明明安装好了tensorflow-gpu,但是运行代码时无法使用gpu加速,运行tensorflow代码时cpu占满还是跑的很慢,同时tf.test.is_gpu_available()=false。在网上看了很多教程,有人说是tensorflow与tensorflow-gpu的版本不同问题,要求tensorflow-gpu版本比tensorflow版本高,同时要求电脑在装tensorflow之后装tensorflow-gpu。

因此我就尝试了很多次,发现都不成功,tf.test.is_gpu_available()=false一直都是这样。因为我一直用pytorch跑代码,pytorch可以用gpu加速但是tensorflow不可以,说明tensorflow配置可能有问题。

原因分析:

Tensorflow对CUDA和CuDNN的要求很严格,如果gpu用不了建议首先根据这个博主的博客对照一下tensorflow版本对应问题。
附上我觉得总结很好的博主的博客:https://blog.csdn.net/weixin_44560088/article/details/117457619?spm=1001.2014.3001.5502

例如: tensorflow_gpu-2.3.0必须要求 python为3.5-3.8;CuDNN=7.6(7版本开头);CUDA=10.1

解决方案:

1.首先查看自己CUDA的版本

在Anaconda中输入nvcc -V查看自己的cuda版本,比如我的就是10.1版本,这样看最靠谱。
我之前是CUDA10.2版本,没有对应的tensorflow,因此尝试了很多次都不成功,所以我重新找了一个CUDA版本和CUDNN版本进行下载,在没有删除10.2的情况下又安装了一个10.1版本。

Win10下Tensorflow-gpu使用cpu训练而不是gpu加速
2.查看版本对应表选择一个自己的CUDA版本下的Tensorflow版本
3.在Anaconda Navigator中把原来的Tensorflow虚拟环境删除掉(右下角remove)

Win10下Tensorflow-gpu使用cpu训练而不是gpu加速
4.下载好CUDA10.1和CuDNN7.6.5的压缩包(这里一定要下CuDNN版本7开头的压缩包 而不是8开头的,见问题2)
将CUDA10.1与原来的10.2版本的环境分开,比如10.2在C盘,为了不出什么问题,我把10.1安装在了D盘,首先在D盘组织好这样的架构D:\CUDA\NVIDIA corporation\CUDA Samples\v10.1和D:\CUDA\NVIDIA GPU Computing Toolkit\CUDA\v10.1,根据CUDA的默认C盘安装路径将安装路径修改到对应的D盘,方便后续查找文件。
将CuDNN解压缩后将文件复制到D:\CUDA\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin路径下替换掉对应的文件。

5.在Anaconda中创建对应的tensorflow虚拟环境(我给他起名字叫tf)

conda create -n  tf python=3.8

创建完毕后,使用pip安装tensorflow-gpu

pip install tensorflow-gpu==2.3.0

等待其安装成功后,就可以依次在Anaconda prompt中输入以下代码

activate tf
python
import tensorflow as tf
print(tf.test.is_gpu_available())

Win10下Tensorflow-gpu使用cpu训练而不是gpu加速
如果看到True就表示成功了!

问题2:Could not load dynamic library ‘cudnn64_7.dll’

原因分析:

没有关注CuDNN的版本,我在第一次安装时直接下载了CuDNN 8开头的版本,导致在bin文件夹中找不到cudnn64_7.dll只能找到cudnn64_8.dll,这就是没有认真读题的原因!!!

解决方法:下载CuDNN 7开头的版本解压去bin文件粘贴替换即可

当你完成所有这些之后,重启你的编译器/终端,输入上述测试tensorflow-gpu能否使用的命令,就可以惊喜的发现!它成功了!接下来就可以用gpu快乐的跑代码了~

我要特别感谢我的弟弟阿刚!在他的帮助下,我们一起完美地解决了这个问题。

[En]

I would like to express my special thanks to my younger brother, Ah Gang! With his help, we solved this problem perfectly together.

Original: https://blog.csdn.net/weixin_43716328/article/details/123915845
Author: He-ohh22
Title: Win10下Tensorflow-gpu使用cpu训练而不是gpu加速

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/497167/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球