【问题标题】:cannot import tensorfflow in python无法在python中导入tensorfflow
【发布时间】:2017-09-27 18:31:41
【问题描述】:

我已经尝试了一周来纠正我在将 tensorflow 导入 python 时遇到的问题。现在我已经两次按照 ubuntu 16.04 安装 tensorflow 的说明进行操作。 https://www.tensorflow.org/install/install_linux

在尝试导入 tensorflow 时,这是我收到的消息:

salvo@AMD ~ $ source ~/tensorflow/bin/activate bash
(tensorflow) salvo@AMD ~ $ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/home/salvo/tensorflow/local/lib/python2.7/site-packages/tensorflow/__init__.py", line 24, in <module>
   from tensorflow.python import *
   File "/home/salvo/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 51, in <module>
      from tensorflow.python import pywrap_tensorflow
File "/home/salvo/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
 File "/home/salvo/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
File "/home/salvo/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "/home/salvo/tensorflow/local/lib/python2.7/site-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


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

出于一些常见原因和解决方案。包括整个堆栈跟踪 寻求帮助时出现此错误消息。

系统正在运行 Linux mint 18.1 python是2.7

我没有足够的经验来理解对“”的引用或

有人能解释一下这个问题吗?

【问题讨论】:

  • 当您搜索 libcudnn.so.5 时会得到什么? locate libcudnn.so.5
  • 我能够很好地遵循这个问题,但是如果你将 python 的输出缩进四个空格,以便它显示为代码块和换行符被保留,你可能会得到更好的响应。我无法在第一个帖子审核界面中提出修改建议
  • mgig 我无法找到 libcudnn.so.5 但是我能够找到 libcudnn.so.6 定位 libcudnn.so.6 的输出是 /home/salvo/Cuda/ cudnn/cuda/lib64/libcudnn.so /home/salvo/Cuda/cudnn/cuda/lib64/libcudnn.so.6 /home/salvo/Cuda/cudnn/cuda/lib64/libcudnn.so.6.0.21
  • 将它添加到您的 LD_LIBRARY_PATH 环境变量中,它只是找不到您的 CuDNN 库。
  • 谢谢大卫,你能解释一下发生了什么,以便我了解未来吗?我使用以下命令将路径添加到 LD_LIBRARY_PATH: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/salvoCuda/cudnn/cuda/lib64/libcudnn.so export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/salvoCuda/cudnn/cuda/lib64/ libcudnn.so.6 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/salvo/Cuda/cudnn/cuda/lib64/libcudnn.so.6.0.21 仍然出现相同的错误,我认为这是因为'_pywrap_tensorflow_internal'正在寻找libcudnn。所以.5?

标签: python linux python-2.7 tensorflow


【解决方案1】:

您需要设置以下环境变量,如下所示 - 为您的安装提供正确的文件夹。将您的 CUDNN 文件夹的内容复制到您的 cuda 文件夹,以便所有需要的 lib 文件都放在一起。大多数安装说明都有一个从 /usr/local/cuda 到最新 cuda 版本的符号链接。请注意,变量指向路径而不是文件。

export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH

【讨论】:

    【解决方案2】:

    感谢 Puternerd、mgig 和 Sam Hartman!我按照 Puternerd 的指示,变量需要成为库的 PATH 而不是文件本身,所以执行它的命令是

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/salvo/Cuda/cudnn/cuda/lib64
    

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 2010-11-19
      • 2016-05-27
      • 2013-02-17
      • 2016-05-12
      • 2018-11-30
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多