CMake工程找不到相应的cuDNN版本的问题
(1) 去官网下载相应的版本,因为电脑之前安装的是 CUDA8. ,找跟 CUDA 版本兼容的 cuDNN 下载即可,我选择的是 cuDNN v7.1.4 Runtime Library for Ubuntu16.(Deb) 和 cuDNN v7.1.4 Developer Library for Ubuntu 16.04 (Deb)
注意这里下载安装包時需要帐号登陆才可以。

(2) 根据教程安装,主要步骤摘录如下

(3) 不过到这里先别着急,还需要后续操作一下,可以参考博客最后一部分

这是才算安装完成。
(4) 然后再编译还是找不到 libcudnn.so.7.1. ,怎么办?
之前好像跟 CUDA 连体安装的是 libcudnn.so.5.1.
cv@cv : /usr/local/cuda-8.0/include$ locate libcudnn.so
/usr/lib/x86_64-linux-gnu/libcudnn.so
/usr/lib/x86_64-linux-gnu/libcudnn.so.7
/usr/lib/x86_64-linux-gnu/libcudnn.so.7.1.4
/usr/local/cuda-8.0/lib64/libcudnn.so
/usr/local/cuda-8.0/lib64/libcudnn.so.5
/usr/local/cuda-8.0/lib64/libcudnn.so.5.1.10
cmake 提示报错表示找不到新的版本
-- Found CUDNN: /usr/local/cuda-8.0/include
-- Found cuDNN: v5.1.10 (include: /usr/local/cuda-8.0/include, library: /usr/local/cuda-8.0/lib64/libcudnn.so)
CMake Error at libtorch/share/cmake/Caffe2/public/cuda.cmake:159 (message):
PyTorch requires cuDNN 7 and above.
指向两个地方,下面我们直接对症下药
第一个是将 libcudnn.so 链接向 /usr/lib/x86_64-linux-gnu/libcudnn.so.7.1.
第二个是将 /usr/local/cuda-8.0/include 里面的 cudnn.h 改掉因为它是对应 libcudnn.so.5.1. 的,怎么改呢,简单粗暴
cv@cv : /usr/local/cuda-8.0/include $ sudo mv cudnn.h cudnn.h.bak
cv@cv : /usr/local/cuda-8.0/include $ locate cudnn.h
/usr/include/cudnn.h
/usr/local/cuda-8.0/include/cudnn.h
cv@cv : /usr/local/cuda-8.0/include $ sudo cp -fv /usr/include/cudnn.h /usr/local/cuda-8.0/include/
(6) 查看一下内容,上面的是 cudnn 版本5的头文件部分摘录,下面的是 cudnn 版本7的头文件部分摘录。


到此应该可以通过 CMake 编译了, Bingo !
CMake工程找不到相应的cuDNN版本的问题的更多相关文章
- 从网上找的 visual studio 的各个版本下载地址,vs2010/vs2012/vs2013带注册码
从网上找的 visual studio 的各个版本下载地址,很全,从 6.0 一直 到 vs2013,要的拿去吧... Microsoft Visual Studio 6.0 下载:英文版360云盘下 ...
- 项目 Web 的 NuGet 程序包还原失败: 找不到“1.0.0”版本的程序包“Microsoft.Net.Compilers”。。 0
项目 Web 的 NuGet 程序包还原失败: 找不到“1.0.0”版本的程序包“Microsoft.Net.Compilers”.. 0 使用vs的NutGet包管理器时,另一台电脑从svn下载 ...
- 【linux基础】cuDNN版本查询
参考 1. 查看cudnn版本; 完
- VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法
以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft ...
- 服务器配置多版本CUDA、CUdnn(不同Linux账户使用不同CUDA、CUdnn版本)
一.由于实验室大家使用的CUDA.CUdnn不同,所以需要在同一台服务器安装多个版本,而且要不引起冲突,方法如下: 1.一般来说CUDA安装在 /usr/local 目录下(当然你可以通过“echo ...
- 查看 CUDA cudnn 版本
cuda 版本 cat /usr/local/cuda/version.txt cudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MA ...
- 生成 (web): 找不到目标 .NET Framework 版本的引用程序集;请确保已安装这些程序集或选择有效的目标版本。
刚刚还好好的,不知道修改什么了,突然出现如下错误: Default.aspx(36): 生成 (web): 找不到目标 .NET Framework 版本的引用程序集:请确保已安装这些程序集或选择有效 ...
- Linux 和 Windows 查看 CUDA 和 cuDNN 版本
目录 Linux 查看 CUDA 版本 查看 cuDNN 版本 Windows 查看 CUDA 版本 查看 cuDNN 版本 References Linux 查看 CUDA 版本 方法一: nvcc ...
- tensorflow各个版本的CUDA以及Cudnn版本对应关系
概述,需要注意以下几个问题: (1)NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念哦!CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运 ...
随机推荐
- Java之Retry重试机制详解
应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作.这个功能不复杂,分为两个步骤:第一步调用远程的Rest服务上传数据后对返回的结果进行处理:第二步拿到第一步结 ...
- polygon()函数
polygon():draw the polygons where vertices are given in x and y. polygon(x,y=NULL,density=NULL,angle ...
- Docker虚拟化之<基础理论>
1.虚拟化技术的概念 (1)虚拟化技术主要是将物理的资源转变为逻辑上可以管理的资源,以打破物理结构上的壁垒,让计算元件运行在虚拟的基础上,而不是真实的物理资源上.(2)虚拟化技术的底层是要进行虚拟化的 ...
- 快速理解spark-on-k8s中的external-shuffle-service
[摘要] external-shuffle-service是Spark里面一个重要的特性,有了它后,executor可以在不同的stage阶段动态改变数量,大大提升集群资源利用率.但是这个特性当前在k ...
- MySQL必知必会(汇总数据, 聚集函数)
SELECT AVG(prod_price) AS avg_price FROM products; #AVG只能用于单个列求平均值,如想计算多个列,必须用多个AVG() SELECT AVG(pro ...
- MySQL必知必会(Select, Order by子句)
SELECT prod_name FROM products ORDER BY prod_name; SELECT prod_id, prod_price, prod_name FROM produc ...
- 侠梦说pinpoint--界面上的图标之AgetnInfo数据研究
前言 在启动一个挂载pinpoint的springboot项目的时候,界面上显示成了jboss的图标,所以今天研究了一下这个数据是怎么来的. 我们知道不同图标和服务类型有关,服务不同,图标就不同,这在 ...
- http状态码_____ 204/206/200
HTTP的状态码有很多种,主要有五个大类 1xx(临时响应) 2xx(成功) 3xx(已重定向) 4xx(请求错误) 5xx(服务器错误) 每个大类还对应一些具体的分类.平时我们接触比较多的是200. ...
- 洛谷 题解 P2645 【斯诺克】
吐槽一下这道题: 数据太水了!!! 请注意,这题如果你考虑了犯规的情况,那么你的分数...可能会和我一样,只有40分. 也就是说,这是一篇AC不了这道题的题解!!! 现在,我来讲一下这道题的正解: 两 ...
- 【Go入门学习】理解区分数组和切片
一.前言 学过 Go 的都知道在 Go 语言中有四种复合数据类型:数组.切片(Slice).哈希表(Map)和结构体(Struct),而很多 Go 初学者也很容易把数组和切片弄混淆,所以要怎么把这两个 ...