1.说明
- 很久之前安装好的一套,ms在不经意的系统更新时,更新了cuda,导致以前能在显卡中运行的代码现在只能在cpu中跑,故配置好后系统慎更新;
- tensorflow官方给出的tensorflow-gpu+cuda+cudnn+nvidia驱动之间的关系只能大概看看,因为给的版本号太粗,运气好一次就可以弄对,这次运气不好花了很长时间弄回来。**要特别注意cuda9.1版本绝对不能使用,因为没有任何tensorflow版本与之对应。**我因为手上有个cuda9.1,反而在这里浪费了很多时间。tensorflow2慎入,刚学或者资深玩家无所谓。像我这种半吊子绝对会因为API接口的变化苦不堪言。
- 特此记录
2. 碰到的问题
2.1 循环登录界面
系统的默认集显未禁用时会出现的现象。解决方法为将集显添加近黑名单,具体参考这里和这里,我在两种方法都用上后才起作用。
2.2 版本不匹配的现象
2.2.1 tensorflow-gpu 可以运行,但不调用gpu
tensorflow-gpu 可以运行,但是import tensorflow时给出的信息出现没有找到显卡、找到了显卡但是启动不了cuda等等;这是cuda到显卡驱动这一路有问题。
2.2.2 import tensorflow失败,找不到libcudnn, libcublas.so等库文件。可能原因:
- 系统环境变量添加错误,参考这里解决
- tensorflow与cuda、cuDNN版本不匹配,解决方式为使用匹配的软件版本。曾尝试添加软链接欺骗tensorflow让其调用更高版本库,以失败告终。cuDNN下载链接,需简单注册一下。cuda下载地址,比较大。官方可能会删除旧版本,所以哪怕下载错了,也要留下来。
3 我的可用软件版本
- Ubuntu 16.04 显卡1050 Ti
- Nvidia 390.48, 卸载时尽量不用暴力删除。安装时应选择放弃openglÿ