我的配置
- 显卡: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的不稳定造成的。