IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7005. -> 正文阅读

[Python知识库]Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7005.

一、问题描述

跑程序时遇到runtime cudnn版本问题,程序报错,如下图所示。

在这里插入图片描述
:加载的运行时 cudnn 库: 7103(兼容版本7100) ,但源代码是用7005(兼容版本7000)编译的。如果使用二进制安装,请升级您的 cudnn 库以匹配。如果从源代码构建,请确保在运行时加载的库与编译配置期间指定的协同容错版本相匹配。

也就是说,代码跑的环境里cudnn版本是7.1.3,而源代码要求cudnn版本是7.0.5,必须调整程序环境的cudnn版本。

二、解决办法

1、过程描述

参考以下资料得两种解决办法,一是升级TF版本到1.8.0(配置的环境是TF1.4.1),但是笔者复现的代码README上的TF是1.4.1,不想之后跑程序有更多问题,这个方法没有尝试;二是更改cudnn版本,配置环境时,TF1.4.1配置的是CUDA8.0,cuDNN6.0,决定将cuDNN调整为7.0.5版本。
1、在运行Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7003
2、深度学习环境搭建(二): Ubuntu不同版本gcc,CUDA,cuDNN共存,切换解决方案
3、ubuntu安装并切换多个版本的cuda
4、Pytorch-cuDNN version mismatch: PyTorch was compiled against 7005 but linked against 7103

至此,新问题出现,程序报错显示运行的cudnn7.1.3,环境配置cudnn6.0,二者不一致。参考文献4得知虚拟环境是由anaconda建立的,其lib文件夹里存在cudnn7.1.3,故运行的程序没有用到配置的cudnn6.0。(即,/home/ubuntu/anaconda3/envs/py27_tf141/lib中存在cudnn7.1.3)
查询cudnn版本都说用下面这个命令,但是这查询的是本地安装的cudnn版本,事实证明anaconda创建的虚拟环境不一定用到本地安装的cudnn。

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

(可直接看下方解决方法步骤)提醒自己的一点:
笔者电脑存在多版本cuda,按照参考文献3,已将使用的cuda环境变量设置好,并且把cuda链接指向了cuda8.0,也就是说,环境变量路径文件里的cuda就是已经安装好的cuda8.0文件夹。
增加理解

2、解决方法步骤

① 下载cuDNN7.0.5,压缩包解压后得到的cuda文件夹放在home待用。
过程参考Ubuntu16.04装CUDA和cuDNN
在这里插入图片描述

② 把cuDNN7.0.5文件加入anaconda创建的虚拟环境里,该虚拟环境笔者命名为py27_tf141。
在home右键打开终端,输入以下命令,目的地路径就是虚拟环境的include、lib两个文件夹的路径,得符合自己的实际情况。

sudo cp cuda/include/cudnn.h /home/ubuntu/anaconda3/envs/py27_tf141/include 
sudo cp cuda/lib64/libcudnn* /home/ubuntu/anaconda3/envs/py27_tf141/lib
sudo chmod a+r /home/ubuntu/anaconda3/envs/py27_tf141/include/cudnn.h /home/ubuntu/anaconda3/envs/py27_tf141/lib/libcudnn*

③ 软链接指向
进入虚拟环境的lib文件夹,即/home/ubuntu/anaconda3/envs/py27_tf141/lib,用下方命令查看cudnn有关文件、软连接指向。

ls -al |grep cudnn

在这里插入图片描述
可以看到存在cudnn7.0.5、cudnn7.1.3,libcudnn.so指向libcudnn.so.7,libcudnn.so.7指向libcudnn.so.7.0.5,这就是实际软链接。
更改软连接指向,用以下命令,实现软连接指向cudnn7.0.5。

sudo ln -sf libcudnn.so.7.0.5 libcudnn.so
sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7

以上,已经解决了笔者的问题。


相关记录

1、查询cudnn版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
图中由cudnn版本定义得cudnn runtime版本为7005,三位数字对应版本cuDNN7.0.5。
2、查看创建的软连接命令:

ll /usr/local/cuda/lib64/

同时可以看到存在什么版本的cuda、cudnn。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 09:54:14  更:2022-05-14 09:54:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:33:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码