Note : this question was initially asked on github , but it was asked to be here insteadtensorflow对GPU:没有已知的设备,尽管CUDA的DEVICEQUERY返回“PASS”的结果
我有运行在GPU上tensorflow麻烦,并且它不似乎是平常CUDA的配置问题,因为一切似乎表明cuda已正确设置。
主要症状:运行张量流时,未检测到我的GPU(the code being run和its output)。
与常见问题有什么不同之处在于,cuda似乎已正确安装,并且从cuda样本成功运行./deviceQuery
(output)。
我有两个图形卡:
- 老GTX 650用于我的显示器(我不希望使用一个与tensorflow)
- 一个GTX 1060,我想献给tensorflow
我用:
- tensorflow-1.0.0
- CUDA 8.0(ls -l /usr/local/cuda/lib64/libcud*)
- cudnn-5.1.10
- 中的python-2.7.12
- NVIDIA的驱动程序,375.26(这是由CUDA安装和更换我的发行版驱动程序包)
我已经试过:
- 加入
/usr/local/cuda/bin/
到$PATH
- 迫使GPU放置在tensorflow小号CRIPT使用
with tf.device('/gpu:1'):
(和with tf.device('/gpu:0'):
当它失败了,好措施) - 白名单我想与
CUDA_VISIBLE_DEVICES
使用GPU,万一我老不支持卡的存在也导致问题 - 运行使用sudo的脚本(因为为什么不)
这里是nvidia-smi和nvidia-debugdump -l的输出,以防万一它有用。
在这一点上,我觉得我跟着所有的面包屑,不知道我可以尝试别的。我甚至不确定是否正在考虑错误或配置问题。任何意见关于如何调试这将不胜感激。谢谢!
更新:与雅罗斯拉夫GitHub上的帮助,我聚集了通过提高日志级别调试信息,但它似乎并没有说太多关于该设备的选择:https://gist.github.com/oelmekki/760a37ca50bf58d4f03f46d104b798bb
更新2:使用theano检测gpu是否正确,但有趣的是,它抱怨cuDNN太近了,然后回退到cpu(code ran,output)。也许这可能是tensorflow的问题呢?
作为另一个合理性检查,你可以尝试另一个框架(如Theano)与GPU来查看它是否工作,也许你的GPU设置不知何故被deviceQuery检测不到 –
好主意,谢谢。我会尝试并在问题主体中报告。 –
输出可疑小,这是我看到当我运行VLOG = 1时 - http://pastebin.com/LQF0j3Ri –