先说问题原因,报这个错误是安装的Cuda runtime version与计算机GPU的Cuda driver version不匹配所致,通常是因为我们的显卡驱动版本太低,因为在安装过程中我们用了以下最简单粗暴的方式(没有在后面指定版本号):
conda install tensorflow-gpu
这样会默认安装最新的TensorFlow版本,以及相关的最新依赖包,而我们的显卡驱动却不是最新的,以下是显卡驱动与CUDA版本对应关系
以上图片来源于英伟达官网
解决办法:
第一步:
查看自己GPU的驱动版本(我的显卡已经是更新后的结果了):
第二步:
查看自己cuda版本号(显卡驱动未更新前我显卡驱动版本号是:391.x ,由第一幅图可知我的cuda是不能大于9.1的),以下是查看自己cuda版本号的方法:
conda list
结果如下图所示:
我们可以看到这里的cuda已经是10.x了,所以需要更新自己的显卡以此达到要求。
第三步:
更新驱动
下载驱动网址传送门:https://www.geforce.cn/drivers
安装这个软件后,更新驱动,我们就大功告成啦!
第四步:
跑个测试代码
import tensorflow as tf
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")
result = a + b
sess = tf.Session()
sess.run(result)
结果如下:
总结:
在用conda安装TensorFlow的时候最好指定版本号,不然默认高版本的安装会带来不少的问题。