背景
运行一个tensorflow的项目。代码中指定的tensorflow版本是1.4.1。
我是在服务器上跑代码的,使用conda创建一个python = 2.7的虚拟环境,并pip安装了tensorflow = 1.4.1。
服务器的cuda版本是11.1。
问题
执行代码时,import tensorflow就报错 libcudnn.so.6: cannot open shared object file: No such file or directory。
解决
查询了解到是因为cuda和tensorflow版本不对。我在这个错误之前,还报错是cuda版本不对,后来安装了cuda8,然后执行才报上述错误。
- 首先先查看 /usr/local/cuda/lib64/ 目录下是否存在libcudnn.so.6(我查了,确实没有)
- 然后去官网 https://developer.nvidia.com/cudnn 下载对应的库
我下的是这个。 - 将下载好的文件传到服务器上,因为我是用的conda虚拟环境,因此传到 /home/xxx/miniconda3/envs/py2/lib 目录下(py2虚拟环境的lib下)。
- tar xzvf解压该文件。
解压后我的lib64目录下,有这些内容。前两个对应的软链接,如果没有,就创建。
- 修改.bashrc文件(此文件在/home/xxx下)
在文件末尾添加这两行,位置改成自己的相应位置。 - 然后执行
source .bashrc
然后可以再次进入conda虚拟环境,试试import是否成功。
参考 ( https://blog.csdn.net/weixin_43876817/article/details/88869927 )