Tensorflow:ImportError:libcusolver.so.8.0:无法打开共享对象文件:没有此类文件或目录

Tensorflow:ImportError:libcusolver.so.8.0:无法打开共享对象文件:没有此类文件或目录,tensorflow,Tensorflow,在python3中导入tensorflow时遇到问题: >>> import tensorflow as tf Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module> from tensorflow.python.pywrap_t

在python3中导入tensorflow时遇到问题:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py", line 51, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcusolver.so.8.0: 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

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.
另外,libcusolver.so.8.0存在于/usr/local/cuda/lib64/:

我已经卸载并重新安装了CUDA、cuDNN,并从源代码构建了tensorflow。自从英伟达驱动程序升级到版本381.09 beta版以来,这个问题就一直在发生。有什么帮助吗?

找到了解决方案:

我重新安装了nvidia-381、CUDA-8.0(使用运行文件)和cuDNN 6.0。然后,我在.bashrc中添加了以下内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/

无需重新安装。安装nvidia cuda dev:

sudo apt install nvidia-cuda-dev

安装
cuDNN
(从下载),并相应地设置
LD_LIBRARY_PATH
(到
cuda/lib64
)。

如果安装了最新版本的cuda(9.0),则可能会出现此问题。如果是这种情况,您的计算机上会有libcusolver.so.9.0文件或目录,而不是8.0,因此python无法找到要导入的文件或目录。Tensorflow尚未支持CUDA 9.0(截至2017年10月18日)


要解决此问题,请安装CUDA 8.0,可以找到。你可以在主下载页面的底部找到他们所有的网站

除了正确设置路径外,您安装的Tensorflow版本必须与系统中的CUDA驱动程序版本兼容,否则无法正常工作。
请参阅

由于Tensorflow版本与CUDA之间的不兼容,我遇到了这个错误。 我有
tensorflow\u gpu-1.3.0
CUDA 9
cuDNN 7
,这些都是不兼容的


因此,我卸载了
tensorflow_gpu-1.3.0
并安装了
tensorflow_gpu-1.5.0
,它工作正常

在我的情况下,我不得不重新安装,因为我的安装也坏了。否则,对于其他人遇到的情况,我想他们不需要重新安装,除非他们的安装也坏了。唯一的解决方案是Ubuntu 17 Cuda-9和Nvidia-384驱动程序。事实上,我很久以前就遇到过这个问题,原因是CUDA安装中断,并且没有在LD_library_path中设置CUDA库路径。目前,我正在运行使用CUDA 9.0和cuDNN 7.0从源代码构建的Tensorflow,我没有任何问题。我想我有你们正在谈论的这个问题。我在virtualenv中安装了tensorflow,但问题是我在尝试导入该virtualenv时遇到了这个错误。我不明白为什么我能在原生Python 3中导入tensorflow。这似乎并不能解决我的问题。。。我的cuda安装在
/opt/cuda/
上,libcsusolver.so也在那里。我在.bashrc中添加了以下内容:
export-LD\u-LIBRARY\u-PATH=$LD\u-LIBRARY\u-PATH:/opt/cuda/lib64/
,但仍然收到相同的错误。我的同事运行tensorflow很好…@FranzHahn奇怪,目前我的安装在
/opt/cuda
导出LD_库路径=$LD_库路径:/opt/cuda/lib64/
对我来说很有效。您是否手动检查了
/opt/cuda/lib64
以查看请求的确切文件是否存在?我遇到了相同的问题,我在virtualenv中使用安装,但当我尝试在virtualenv中导入时出现此错误,然而奇怪的是,它在该virtualenv之外工作正常。有什么线索吗?如果您现在有CUDA 9.0,请使用
tf nightly gpu
,直到它稳定为止。@OverCoder我目前使用的是CUDA 9.0从源代码构建的1.4.0-rc0,到目前为止我还没有遇到任何问题。我是否仍然应该切换到
tf nightly gpu
?我错了,我误读了,你现在需要从源代码构建。我有这个问题,我已经安装了cuda 9.0。什么是容易的fix@amitnair92您所要做的就是找到CUDA9库的路径,并将其添加到环境变量LD_library_path中,如我的答案所示。
sudo apt install nvidia-cuda-dev