您的位置:首页 > 移动开发 > Objective-C

ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory原因是cudnn版本不是7.0

2020-07-23 18:54 1111 查看

当import tensorflow时,报错ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory,原因是我的cudnn版本是5.0的,应该升级至7.0

#查看我的libcudnn.so*文件

$ ll /usr/local/cuda-9.0/lib64/libcudnn*

可以看到我的cudnn是5.0,需要将cudnn升级至7.0

解决方法

1.删除旧版cudnn

1. $ sudo rm -rf /usr/local/cuda/include/cudnn.h
2. $ sudo rm -rf /usr/local/cuda/lib64/libcudnn

2.上官网 (https://developer.nvidia.com/rdp/cudnn-archive)下载7.0 版本,我的cuda版本是9.0,所以下载下的是cudnn-9.0-linux-x64-v7.tgz,注意首次登录官网需要注册Nvidia账号
3.cd 到下载目录,并解压cudnn-9.0-linux-x64-v7.tgz,解压出来是一个cuda文件夹,cd 进入这个cuda文件夹,复制cudnn.h 和lib*文件

1. $ cd Downloads   (##进入下载目录)
2. $ tar -zvxf cudnn-9.0-linux-x64-v7.tgz (##解压.tgz文件)
3. $ cd cuda     (进入解压出来的cuda文件夹)
4. $ sudo cp include/cudnn.h /usr/local/cuda/include/   (##复制cudnn.h)
5. $ sudo cp lib64/lib* /usr/local/cuda/lib64/      (##复制lib*)

4.创建软链接
先进入/usr/local/cuda/lib64

$ cd /usr/local/cuda/lib64

然后创建软连接

1.$ sudo chmod +r libcudnn.so.7.0.5
2.$ sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7
3.$ sudo ln -sf libcudnn.so.7 libcudnn.so
4.$ sudo ldconfig

5.查看cudnn版本

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

若出现版本信息,则说明cudnn版本升级成功。
下图是我的升级流程

现在再import tensorflow试试,就可以啦!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐