情形一:
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版本。然后挂代理,然后执行
以给conda换上清华源,然后执行conda install命令即可。
情形二:
服务器情况同上。
在用python用tensorflow_gpu尝试tf.config.experimental.list_physical_devices('GPU')时,报如下错误
。
尝试了 1.conda install cudatoolkit,还是报同样的错。 2.conda install -c nvidia cudnn,还是报同样的错。
未解决
猜测问题应该是,由于cuda版本原因,对应的cuda/库中缺少需要的文件。
猜测解决方案是,需要通过再安装一个cuda等方式安装必需的文件。