libcudnn (R5) not found in library path
环境:Ubuntu 18.04 + Torch7 + cuda10
在运行使用cudnn的lua程序的时候产生错误:
/home/majiabiao/torch/install/bin/luajit: /home/majiabiao/torch/install/share/lua/5.1/trepl/init.lua:: /home/majiabiao/torch/install/share/lua/5.1/trepl/init.lua:: /home/majiabiao/torch/install/share/lua/5.1/cudnn/ffi.lua:: 'libcudnn (R5) not found in library path.
Please install CuDNN from https://developer.nvidia.com/cuDNN
Then make sure files named as libcudnn.so. or libcudnn..dylib are placed in
your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH) Alternatively, set the path to libcudnn.so. or libcudnn..dylib
to the environment variable CUDNN_PATH and rerun torch.
For example: export CUDNN_PATH="/usr/local/cuda/lib64/libcudnn.so.5" stack traceback:
[C]: in function 'error'
/home/majiabiao/torch/install/share/lua/5.1/trepl/init.lua:: in function 'require'
test.lua:: in main chunk
[C]: in function 'dofile'
...biao/torch/install/lib/luarocks/rocks/trepl/scm-/bin/th:: in main chunk
[C]: at 0x555bad5c4570
去我安装的cuda文件夹下查看:/usr/local/cuda-10.1/lib64,发现没有 libcudnn.so.5 or libcudnn.5.dylib而是libcudnn.so.7 libcudnn.so.7.5.0
根据错误信息查看文件/home/majiabiao/torch/install/share/lua/5.1/cudnn/ffi.lua
local libnames = {'libcudnn.so.5', 'libcudnn.5.dylib', 'cudnn64_5.dll'}
local ok = false
for i=,#libnames do
ok = pcall(function () cudnn.C = ffi.load(libnames[i]) end)
if ok then break; end
end if not ok then
将'libcudnn.so.5', 'libcudnn.5.dylib'修改为'libcudnn.so.7', 'libcudnn.7.dylib'结果变为以下错误
/home/majiabiao/torch/install/bin/luajit: /home/majiabiao/torch/install/share/lua/5.1/trepl/init.lua:: /home/majiabiao/torch/install/share/lua/5.1/trepl/init.lua:: /home/majiabiao/torch/install/share/lua/5.1/cudnn/ffi.lua:: These bindings are for CUDNN .x ( <= cudnn.version > ) , while the loaded CuDNN is version:
Are you using an older or newer version of CuDNN?
stack traceback:
[C]: in function 'error'
/home/majiabiao/torch/install/share/lua/5.1/trepl/init.lua:: in function 'require'
test.lua:: in main chunk
[C]: in function 'dofile'
...biao/torch/install/lib/luarocks/rocks/trepl/scm-/bin/th:: in main chunk
[C]: at 0x561e50b7e570
那么之前那个找不到libcudnn.so.5 or libcudnn.5.dylib的错误的原因是不兼容某些版本的cudnn,只兼容5005到6000之间的版本
那么如果使用的是不兼容版本的cudnn,那么就在现有cuda的基础上更改cudnn的版本,只需要替换一些文件
去nvidia官网下载将要使用的版本的cudnn,解压出来的文件夹cuda中有两个文件夹include和lib64
#删除原有版本的cudnn(注意你的文件夹是否是这个路径)
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
#将下载好的新的版本的cudnn文件放到刚才删除的文件所在位置:
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
#cd到/usr/local/cuda/lib64/文件夹下,建立软链接(注意版本号换成你自己的)
sudo chmod +r libcudnn.so.5.0.
sudo ln -sf libcudnn.so.5.0. libcudnn.so.
sudo ln -sf libcudnn.so. libcudnn.so
sudo ldconfig
之后就可以了
libcudnn (R5) not found in library path的更多相关文章
- java如何修改java.library.path并且不重启jvm也能生效
先说一下需求吧, 目前在用JCEF实现java程序桌面版包装,源码中需要加载编译好的几个dll文件,而这些文件的路径必然是根据程序安装的路径而变化的,这就需要在程序运行的时候,去动态修改java.li ...
- no leveldbjni64-1.8 in java.library.path
在抽取以太坊Java版本的Trie树部分时,遇到了一个问题: Exception in thread "main" java.lang.UnsatisfiedLinkError: ...
- paip.-Djava.library.path -Djava.ext.dirs= 的区别
paip.-Djava.library.path -Djava.ext.dirs= 的区别 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专 ...
- no sigar-amd64-winnt.dll in java.library.path 错误
需要维护别人写的一个WEB项目,还原数据库,从SVN中检出源码,运行,提示如下错误: 5526 [localhost-startStop-1] DEBUG Sigar - no sigar-amd6 ...
- Linux: Set OR Change The Library Path
Linux: Set OR Change The Library Path by NIX CRAFT on APRIL 9, 2010 · 3 COMMENTS· LAST UPDATED AUGUS ...
- 关于Tomcat启动时报The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path
错误信息如下 八月 01, 2016 10:11:15 上午 org.apache.catalina.core.AprLifecycleListener initINFO: The APR based ...
- Error: java.lang.UnsatisfiedLinkError: no ntvinv in java.library.path
Error Message When compiling or executing a Java application that uses the ArcObjects Java API, the ...
- no ocijdbc11 in java.library.path linux
no ocijdbc11 in java.library.path linux vi /etc/profile export ORACLE_HOME=/oracle/database/oracle/p ...
- java出现no XXX in java.library.path的解决办法及eclipse配置
java一般使用两个path:classpath 和 java.library.path classpath是指向jar包的位置 java.library.path是非java类包的位置如(dll,s ...
随机推荐
- 鼠标悬浮触发事件(onmouseover)实现
将鼠标移至(悬浮)到某个标签范围内触发事件或提示消息等效果实现的关键词为:onmouseover. 代码: <!DOCTYPE html> <html> <head> ...
- BZOJ 4229: 选择 LCT_独创方法_边双
考虑如果两点在一个环中,那么这两点一定可以构出双联通分量. 考虑环和环镶嵌,那么两个环中的点一定都互为双联通分量. 由此,我们想到一个算法: 将删边转为反向加边,用LCT维护图. 当我们连接两个点时, ...
- node——文件夹创建
//创建文件夹 var fs=require('fs'); //1.异步 fs.mkdir("./第一个目录",function(err){ if (err) { return c ...
- Layui父页面向子页面传参
废话不多说!直接上代码! 父窗体js $('.mytable').on('click', '.editRow', function () { var table = $('#table_id_exam ...
- 3.如何构建Cython代码
一.与Python不同的是,Cython代码需要进行编译.发生两个阶段 将一个.pyx文件用Cython编译成一个.c文件中,包括Python扩展模块代码 将.c文件使用C编译器编译成.so文件(在w ...
- myeclipse反编译安装 jd-gui.exe下载
一:在线安装 1.Help->Install New Site Name:** Location:http://jd.benow.ca/jd-eclipse/update 二:手动安装 1.下载 ...
- Vue父子组件之间的通讯(学习笔记)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- shiro + maven 的web配置(不整合spring)
本文采用的是1.4.0版本的shiro 官方中说的1.2之前,和之后的shiro配置分别为: 1.2之前: <filter> <filter-name>iniShiroFilt ...
- java中的接口中的方法
题目如下:(多选题)请选择以下接口定义正确的方法() A:public static void main (String[] args); B:private void test(); C:publi ...
- jquery-jquery异步提交表单插件
使用jquery.form可以异步提交文件或者表单,下面的代码演示了如何提交文件 http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js <s ...