ImportError: libcudnn.so.7: cannot open shared object file错误以及非root用户安装cudnn

在使用Tensorflow时遇到`ImportError: libcudnn.so.7: cannot open shared object file`错误。问题源于cuda库文件未找到。检查cuda路径,若文件不存在,则需非root用户安装cudnn。步骤包括:下载对应版本的cudnn,解压并修改环境变量,确保链接正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于ImportError: libcudnn.so.7: cannot open shared object file错误以及非root用户安装cudnn

使用 Tensorflow 的时候出现了错误Tensorflow:ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

从报错信息上来看,就是libcudnn.so.7文件没有找到。

首先检查是否是cuda的链接出现了错误,ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory解决

简单来说,就是:

首先检擦libcudnn.so.7文件是否存在,这个文件夹一般在usr/local文件夹下,可以使用命令:

ll /usr/local

查看自己的cuda信息,在服务器上一般都会有多个版本,但是会将cuda指向其中一个,这时候检查各个文件夹(例如cuda-9.0, cuda-10.0等等)下的lib64文件夹下是否有libcudnn.so.7文件夹(例如,在/usr/local/cuda-9.0/lib64文件夹下找到了libcudnn.so.7,)记住这个文件夹,这时候需要在配置文件信息里添加这个路径,使用

vim .bashrc

打开文件 -> Esc -> i进入编辑模式,然后添加配置信息:

export PATH="/usr/local/cuda-9.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"

注意这里的cuda-9.0要根据实际改变。(关于export命令,可见:环境变量设置export 命令详解

但是!!! 我试了之后发现我的/usr/local/cuda-X/lib64下面并没有这个libcudnn文件,我解决的方法是安装自己的cudnn,(我是非root用户),这里介绍非root用户如何安装cudnn。(可以参考, Linux非root用户如何优雅的安装cuda和cudnn

首先,在官网找到下载:cuDNN Archive(或者是参考 下载历史版本cudnn)注意这个网站需要注册,然后下载的话记得还要做个survey,总之找到这个页面:

然后找到你要使用的版本(注意与Cuda版本对应,可以使用nvcc -V看一下你的Cuda版本),然后点击就可以下载了,当然也可以直接使用命令,但是往往会受到网速限制,注意下载之后是一个后缀名为.solitairetheme8的文件,这个文件需要改名,如果是已经上传到服务器,使用

cp XXXX.solitairetheme8` XXXX.tgz

命令改名,如果还是在windows下直接改成.tgz文件即可,然后再服务器中找个位置使用:

tar -xvfz XXXX.tgz

解压即可,如果你比较"精细",那么可以将这个文件夹移动到上面的cuda文件夹下,当然也可以直接在某个位置解压。

最后一样要改一改环境变量配置文件,例如:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LD_LIBRARY_PATH="/home/XXX...XXX/cudnn/cuda/lib64:$LD_LIBRARY_PATH"

注意按照自己的实际解压位置改一下路径。

然后我就可以用了,其实总结一下就是两个步骤:

  • 首先检测文件是否存在,环境变量中的链接路径是否写对
  • 如果没有文件,则单独安装libcudnn包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值