ubuntu16.04修复tensorflow-gpu+cuda+cudnn+nvidia驱动记录

本文记录了在Ubuntu 16.04上修复TensorFlow-GPU、CUDA和CUDNN与NVIDIA驱动问题的过程。遇到的挑战包括循环登录界面、版本不兼容导致的GPU未被调用和库文件缺失。解决方案涉及禁用集成显卡、使用匹配的软件版本以及正确设置环境变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,记得选no:
sudo /usr/bin/nvidia-uninstall

版本查看:

~$ nvidia-smi
Fri Feb 21 20:08:02 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   47C    P0    N/A /  N/A |    411MiB /  4040MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      6277      C   python                                       401MiB 
  • cuda 9.0.16
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
  • cuDNN 7.6.5.32, 从上述链接下载后安装
sudo ./libcudnn7_7.6.5.32-1+cuda9.0_amd64.deb
  • tensorflow-gpu-1.12.3, 先卸载旧版本,再强制安装指定版本:
sudo pip3 uninstall tensorflow-gpu
sudo pip3 install tesorflow-gpu==1.12.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值