ubuntu安装tensorflow2.0,cuda10.0,cudnn填坑记录

安装cuda,cudnn

安装过程网上已经有很多文章有写了,但是按照别人的过城安装下来还是各种错误,这个主要记录一些那些文章没有写的操作。附:本次安装使用ubuntu18.04系统,显卡RTX2080
具体安装过程可以参考 https://blog.csdn.net/u014754541/article/details/97108282 这篇文章的做法
但是我实测tensorflow2.0是用不了cuda10.1的,只能在电脑上再装一个cuda10.0,两个版本可以随意切换使用。一般就是使用cuda10.0

安装完成后的配置:

配置~/.bashrc文件
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
创建连接文件
sudo vim /etc/ld.so.conf.d/cuda.conf

添加内容

/usr/local/cuda-10.0/lib64

执行

sudo ldconfig 

坑1:安装完成后,提示libcudnn.so.7 is not a symbolic link 不是符号连接

有一种安装cudnn的方法是下载文件后,直接复制include和lib64下面的所有文件到/usr/local/cuda对应的文件夹下面,这个会在sudo ldconfig 的时候提示这个错误。这个时候要把 libcudnn.so.7.6.4(具体看下载的cudnn版本,不同的版本这个后面的数字不一样)创建软连接到libcudnn.so.7
sudo ln -sf /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so.7.6.4 /usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudnn.so.7

坑2:运行tensorflow代码时候,提示Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

解决方案:
在导入tensorflow后的代码加入就可以解决,不知道是什么原理

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

tensorflow成功加载gpu运行环境会有这样的打印信息

Successfully opened dynamic library libcudart.so.10.0
Successfully opened dynamic library libcublas.so.10.0
 Successfully opened dynamic library libcufft.so.10.0
 Successfully opened dynamic library libcurand.so.10.0
 Successfully opened dynamic library libcusolver.so.10.0
Successfully opened dynamic library libcusparse.so.10.0
 Successfully opened dynamic library libcudnn.so.7

在python代码中执行

import tensorflow as tf

print(tf.test.is_gpu_available())

打印结果为True即为gpu可用

切换cuda10.0和cuda10.1的方法

在ubuntu上安装了cuda10.0和cuda10.1后,可以通过如下方式实现切换(虽然现在的tensorflow2.0用不了cuda10.1,但以后肯定用的上的对吧)
1.两个版本默认路径都是安装在/usr/local下面,一个是cuda-10.0,一个是cuda-10.1,还有一个cuda是一个软连接
执行下面的语句更改cuda软链接指向文件夹

cd /usr/local
sudo rm -f cuda
sudo ln -s cuda10.0 cuda  # 更改为cuda10.0
sudo ln -s cuda10.1 cuda # 更改为cuda10.1

2.修改~/.bashrc
将里面的版本修改成需要的版本,修改完成要记得source ~/.bashrc

3.修改sudo vim /etc/ld.so.conf.d/cuda.conf
将里面的版本修改成需要的版本,修改完成要记得sudo ldconfig
就这样已经完成了切换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值