未解决:报错libcudnn.so.8: cannot open shared object file: No such file or directory

3,394 阅读1分钟

情形一:

linux服务器,无sudo权限。cuda安装在/opt/cuda。无法直接连外网,conda安装必须通过代理连接外网,pip安装可以直接通过内网。

import mxnet时,mxnet-cu112(各版本都,mxnet-cu110也)要去/usr/local/cuda找cuda,于是找不到,报“OSError: libcudnn.so.8: cannot open shared object file: No such file or directory”。

google有一个解决方法,将需要的文件链接到/usr/local/cuda即可。但是需要sudo权限。

尝试了

1.conda install cudatoolkit,还是报同样的错。

2.LD_LIBRARY_PATH添加/opt/cuda/lib64,再添加到环境变量,还是报同样的错。

如何在无外网情况下使用conda install安装包

由于urllib3的版本默认是1.26.x,版本太高,有bug,若直接挂代理会报错ValueError: check_hostname requires server_hostname。

需要在conda的各环境中activate base环境(在其他环境中改变urllib3版本是没用的,因为conda的连接还是从base的urllib3发出的),在不挂代理的情况下,执行pip install urllib3==1.25.11,成功降低urllib3版本。然后挂代理,然后执行图片.png 以给conda换上清华源,然后执行conda install命令即可。

情形二:

服务器情况同上。

在用python用tensorflow_gpu尝试tf.config.experimental.list_physical_devices('GPU')时,报如下错误 图片.png

尝试了 1.conda install cudatoolkit,还是报同样的错。 2.conda install -c nvidia cudnn,还是报同样的错。

未解决

猜测问题应该是,由于cuda版本原因,对应的cuda/库中缺少需要的文件。

猜测解决方案是,需要通过再安装一个cuda等方式安装必需的文件。