linux服务器虚拟环境安装tensorflow-gpu 2.4 cuda11.2 cudnn8.0的踩坑记录

项目场景:

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了

这里很开心呀 心想torch-gpu都安好了,tensor怕啥!!!!
瞬间打脸就来了呜呜呜呜
linux服务器虚拟环境安装tensorflow-gpu 2.4 cuda11.2 cudnn8.0的踩坑记录_第1张图片

刚开始一堆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

成功!!!!!
linux服务器虚拟环境安装tensorflow-gpu 2.4 cuda11.2 cudnn8.0的踩坑记录_第2张图片

不过我没试 评论里的这一句 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

你可能感兴趣的:(python,服务器,linux,pytorch,tensorflow)