近日配置最新的tensorflow-gpu2.4.1遇到诸多问题,在这里贴出来以帮助遇到同样问题或者避免大家重蹈覆辙。
环境:WINDOWS10 , GPURTX2060, CPUAMD RYZEN 2600, Python3.8
这篇文件解决以下问题:
- 应该安装哪些版本的环境才能兼容使用
- 现有的CUDA,cuDNN环境卸载
- 以及如何安装这些环境
应该安装哪些版本的环境才能兼容使用
安装tensorflow-gpu==2.4.1以及CUDA11.1与CUDNN8.1环境会遇到许多问题,诸如此类
1.dll缺失问题,问题通常可以通过dll文件改名,或者下载dll文件解决
2.Fail to find the dnn implementation. [Op:CudnnRNN]问题。该问题并不是因为GPU内存不足也不是因为anaconda虚拟环境问题,如这篇文章,而是因为环境兼容性问题。
上述问题,目前我在网上找到的方法都无法解决。
推荐重新安装一下稳定测试过的对应版本,最后我安装了cuDNN8.0以及CUDA11.0解决了上述问题。
对应版本网址的链接
现有的CUDA,cuDNN环境卸载
那么重新安装上述环境就需要卸载,这里推荐Geek卸载助手,
卸载上述应用程序。
卸载tensorflow
$pip uninstall tensorflow-gpu
以及如何安装这些环境
CUDA官网
CUDA是2020年五月
cuDNN官网
cuDNN是2020年七月的应该可以。
如何检查安装成功否,看这个也行
检查CUDA是否安装好,出来版本号就是好了
$nvcc -V
检查cuDNN好没好
$cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite
$bandwidthTest.exe
出来PASS就好了
下面需要检查tensorflow能否正常的使用安装好的环境
安装tensorflow
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.4.0
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
上述代码是显示GPU可用
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
sess = tf.compat.v1.Session(config=config)
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)
print(sess.run(c))
上述代码是执行测试
至此tensorflow-gpu即可正常使用。