tensorflow2.1.0使用GPU报错问题

我的配置

  • 显卡:MX250(联想小新系列)
  • 显卡算力:6.1(tensorflow要求至少3.5即可)
  • cuda:10.1版本(支持tensorflow2.1.0及以上)
  • cudnn:7.6版本(与cuda匹配)

安装tensorflow2.1.0

  • 打开Anaconda prompt,并进入到2.1环境里边
  • conda install cudatoolkit=10.1
  • conda install cudnn=7.6
  • pip install tensorflow==2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 等待

出现问题

Attempting to fetch value instead of handling error Internal: failed to get device attribute 13 for device 0: CUDA_ERROR_UNKNOWN: unknown error

  • 说实话这个问题很难顶,解决了老半天了,最终解决掉了,下面说说怎么解决的。
  • 首先我先po出一个博客文章,大家先看这个,主要看看你的显卡驱动是否更新博客
  • 其次,我想说我是怎么解决的,解决办法我很吃惊,我自己都不信:

解决方法

  • 相信大家用“多次尝试”的办法肯定不得行,要不然也不会来看博客
  • 我们在测试gpu是否工作的时候都会用tf.test.is_gpu_available()。
    如果返回True则证明使用了GPU;如果返回False则证明GPU使用失败了.
    当你去使用上述代码时,你会发现系统会让你更换最新的代码,即
    tf.config.list_physical_devices(‘GPU’)
    这坑爹的,我换完之后就报了上述的错误,然后再换回 tf.test.is_gpu_available(),就没有报错了,大家可以试试。
  • 我的情况是:
    ①代码开头没有tf.test.is_gpu_available()这行代码,报上述bug;
    ②代码开头有tf.test.is_gpu_available(),没有问题
    ③代码开头有tf.config.list_physical_devices(‘GPU’),bug

补充

  • 当我在加上tf.test.is_gpu_available()这行代码使用不久后,又出现了上述错误,但是我重新运行一下就好了,所以这可能是由于tensorflow的不稳定造成的。

参考文献

文献资料

你可能感兴趣的:(tensorflow学习)