红联Linux门户
Linux帮助

tensorflow安装遇libcudnn.so.6:cannot open sharedobject file

发布时间:2017-08-26 10:02:15来源:linux网站作者:silent56_th
其实问题也不大,但是充分反映了需要仔细阅读错误代码,才能快速准确的解决问题。
 
系统环境:Ubuntu16.04 + GTX1060
 
目的:配置一下Python-tensorflow环境
 
问题复现:
使用设置/软件与更新/附件驱动 安装nvidia-375
使用CUDA-8.0*.run安装CUDA
使用cudnn*.tgz安装cudnn5.1
PATH里面加入了/usr/local/cuda-8.0/bin
LD_LIBRARY_PATH里面加入了/usr/local/cuda-8.0/lib64和cudnn_dir/cuda/lib64
使用pip3 install tensorflow-gpu安装tensorflow
 
问题描述:
进入python3,然后import tensorflow,无法import,错误代码:libcudnn.so.6:cannot open sharedobject file: No such file or directory
 
问题解决:
pip uninstall tensorflow-gpu
pip install tensorflow-gpu==1.2
 
问题解释:
根据错误代码,应该是找不到libcudnn.so.6。这个时候笔者就没有注意最后是6而不是5,就开始各种试路径啊,硬链接软链接啥的。实质上是因为当前时间(2017.8),虽然tensorflow官网install教程里面说的是安装cudnn5.1,而tensorflow-gpu1.3已经开始去找cudnn6了(也就是说是用cudnn6编译的)。理论上可以安装cudnn6试试看,但笔者本身没有追逐最新版的习惯,所以直接换到了tensorflow-gpu1.2版本,就解决问题了。
另注:通常情况下这类问题是真的找不到文件,而不是找错文件。这个时候笔者通常会先查一下各种路径有没有设置错误(写错啊,路径之间的冒号啊),然后去指定路径看看有没有这个文件,最后去查一下链接问题(这个就有些复杂了,而且改动起来有风险,建议备份先)。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/32417.html