其实问题也不大,但是充分反映了需要仔细阅读错误代码,才能快速准确的解决问题。


系统环境: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版本,就解决问题了。
另注:通常情况下这类问题是真的找不到文件,而不是找错文件。这个时候笔者通常会先查一下各种路径有没有设置错误(写错啊,路径之间的冒号啊),然后去指定路径看看有没有这个文件,最后去查一下链接问题(这个就有些复杂了,而且改动起来有风险,建议备份先)。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐