tf.test.is_built_with_cuda():True
tf.test.is_gpu_available():False
这个问题困扰了本人很久,因为论文需要,找了许多的解决办法,终于将出现的问题一个一个的解决了!
本来因为模型需要,我只需要运行神经网络的部分,一开始cpu计算能力完全是够的,最多就等久一点。但随着模型的深入,cpu开始崩了,于是想到了使用gpu。
最开始用的tensorflow是2.7.0的版本,当时虽然也有许多问题,但基本也能解决。但后面想调用gpu时发现超过了可以兼容的cudn。最后通过各种尝试,终于实现了tensorflow2.X+cuda+cudnn+torch的稳定版(代码放后面了)。
库包在里面了链接:百度网盘 请输入提取码https://pan.baidu.com/s/1WLzTKv8eJZ7SR6rh01OujQ
提取码:uq74
--来自百度网盘超级会员V6的分享。
1.确定笔记本对应的显卡型号
打开显卡面板
查看系统信息
本人笔记本940MX最高可装cuda11.2的,所以可以安装cuda11.1(cuda_11.1.0_456.43_win10)
2.安装cuda和cudnn
安装cuda,这一步因为电脑内存不足,我先从控制面板删了原来下载的cuda10.1版本
选择精简安装就可以。默认的下载位置在
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
安装cudnn
将cudnn-11.1-windows-x64-v8.0.4.30解压后这四个文件复制到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
里。到此cudn和cudnn安装完成
参考:windows10下CUDA11.1、CUDNN11.1、tensorflow-gpu 2.4.1和torch安装教程_Paul-Huang的博客-CSDN博客_cuda11.1
3.torch1.9.1安装
这里的torch(torch-1.9.1+cu111-cp38-cp38-win_amd64.whl)安装包,我嫌网速慢,我直接到镜像里面下载对应cudn11.1和python3.8版本的.whl文件。将.whl文件放到Script文件下,
再输入cmd命令指示进入
输入pip install torch-1.9.1+cu111-cp38-cp38-win_amd64.whl
第三方库会安装在Lib文件下的site-packages里面。如果下载过程中需要下载其他文件请参考:PIP安装软件报错:“ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443)” - 柠檬草不孤单 - 博客园
到此,torch也安装完成,查看是否安装成功
import torch
print(torch.version)
查看是否能够调用cuda
import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(device)
说明成功了~!
4.最后一步,安装tensorflow2.5.0
这一步搞得时间最久(试了n种方法),安装过程与torch一样,但必须使用PIP安装软件报错:“ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443)” - 柠檬草不孤单 - 博客园
tensorflow-2.5.0rc0-cp38-cp38-win_amd64.whl
安装好后运行代码查看是否运行成功
import tensorflow as tf
print(tf.test.is_built_with_cuda())
print(tf.test.is_gpu_available())
正常的话返回值是True,True的
如果还是不能调用gpu的话,那么就要解决如下问题了,这是我已经解决了的,方法也简单,将没有的XX.dll文件从cudart64_110.dll free download | DLL‑files.com 下载,然后放入C:\Windows\System32里面
如果嫌麻烦,也有更快捷的方法,进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin找到对应文件然后复制过去。
最后在此运行代码,显示成功找到该文件后,系统成功运行,返回True。
至此,关于cudn,cudnn,torch,tensorflow完全装好了。
可能过程中还会遇到环境变量设置的问题http://www.xitongcheng.com/jiaocheng/win10_article_61899.html
讲真,安装这些对于刚入门的新手来说太折磨人了。遇到问题也找不到可以请教的人,只能自己慢慢摸索。也希望我的博客能帮助到更多的人,避免踩坑吧!~~