我尝试让Tensorflow工作,但是当我尝试使用他们的指南中的示例验证安装时,它会返回错误。这是完整的输出:
uburobot@uburobot:~$ source /opt/tensorflow/bin/activate
(tensorflow)uburobot@uburobot:~$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 24, in <module>
from tensorflow.python import *
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
ImportError: libcudnn.so.5: cannot open shared object file: No such file or directory
安装路径是/ opt /我放置cuda和tensorflow。 $ locate libcudnn.so.5 什么都没有回复。版本是Cuda 8.0和cuDNN 5.1。 除此之外的一切都是功能性的。我使用nvidia指南安装Cuda并使用给定的示例验证了安装(工作)。将 export LD_LIBRARY_PATH = / usr / local / cuda / lib64 / 添加到bashrc并不做任何事情。
答案 0 :(得分:0)
据我所知,cuda的默认安装路径是/usr/local/cuda
和/usr/local/cuda-8.0
。如果您的cuda安装在默认路径中,您可以导出LD_LIBRARY_PATH = / usr / local / cuda-8.0 / lib64 / to bashrc或将/usr/local/cuda-8.0/lib64
添加到/etc/ld.so.conf.d/cuda.conf,然后在终端中运行ldconfig
。
您的cudnn库可能安装不正确。您需要将cudnn.h复制到/usr/local/cuda-8.0/include,然后将libcudnn_static.a和libcudnn.so.5.1.5复制到/usr/local/cuda-8.0/lib64。跑
cd /usr/local/cuda-8.0/lib64
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
答案 1 :(得分:0)
Tensorflow似乎无法找到cuDNN共享对象文件。这意味着你要么没有将它复制到正确的位置,要么你的.bashrc没有正确设置。假设您已将cuda安装到/usr/local/cuda
,那么我的.bashrc设置如下:
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64
确保您的源代码为.bashrc
source ~/.bashrc
然后确保您的cuDNN共享对象位于正确的位置。
~$ cd cuda/
~/cuda$ ls
include lib64
~/cuda$ cp include/cudnn.h /usr/local/cuda/include
~/cuda$ cp lib64/libcudnn* /usr/local/cuda/lib64
然后重建张量流。