项目场景:
linux服务器虚拟环境安装tensorflow-gpu 2.4 cuda11.2 cudnn8.0的踩坑记录:
问题描述
这里描述项目中遇到的问题:`
总之就是一堆dll显示加载失败。
W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library ‘libcusolver.so.10’; dlerror: libcusolver.so.10: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64
原因分析:
可能没加载包,安装丢失什么的。
安装了pytorchgpu:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
所以cuda默认11.3了
瞬间打脸就来了呜呜呜呜
刚开始一堆dll文件未加载,之前conda给我默认2.8了之后tensor换成了2.4
pip install tensorflow-gpu==2.4
cudnn换成8.0
conda install cudnn=8.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
这两句是踩坑 自己下载了个dll文件想着复制进去 还好奇这个路径下怎么啥都没有 没啥用
× cp /home/jupyter/workspace/libcusolver.so.10 /usr/local/nvidia/lib64
× cp /home/jupyter/workspace/libcusolver.so.10 /home/jupyter/miniforge3/envs/torch/lib
解决方案:
!!!这里注意看是你虚拟环境名字下的envs!!!(我的虚拟环境名字叫torch)
ln -s /home/jupyter/miniforge3/envs/torch/lib/libcusolver.so.11 $(python -c "import tensorflow.python as x; print(x.__path__[0])")/libcusolver.so.10
成功!!!!!
不过我没试 评论里的这一句 sudo ln -s /home/jupyter/miniforge3/envs/torch/lib/libcusolver.so.11 /home/jupyter/miniforge3/envs/torch/lib/libcusolver.so.10
没懂这个句子的意思,上面那句应该是会同时保留两个文件,因为我的cuda被我一会11.1一会11.2 我也不敢覆盖或者改名。
喜大普奔!!!!!!!
参考链接:https://github.com/tensorflow/tensorflow/issues/43947#issuecomment-727655093