ImportError:libnvidia-fatbinaryloader.so.375.39:无法打开共享对象文件:没有这样的文件或目录

Gau*_*san 5 python-2.7 tensorflow

我正在使用Ubuntu 16.04,Cuda 8.0和cudann-v5.1.我卸载了Tensorflow-CPU版本并重新安装了tensorflow-GPU.按照此处给出的说明操作:https://alliseesolutions.wordpress.com/2016/09/08/install-gpu-tensorflow-from-sources-w-ubuntu-16-04-and-cuda-8-0-rc/

但是,当我尝试加载tensorflow时,我收到以下错误:

>>> 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 51, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 56, 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: libnvidia-fatbinaryloader.so.375.39: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.
Run Code Online (Sandbox Code Playgroud)

Dav*_*rks 14

我也遇到过这个问题,有两个问题需要解决.

  1. 我添加/usr/lib/nvidia-375到我的LD_LIBRARY_PATH环境变量中.您可以验证该文件是否libnvidia-fatbinaryloader.so.375.39存在于该目录中.如果没有,找到它所在的位置并添加该路径.我不清楚为什么在编译源代码时没有正确选择它.

  2. 接下来我遇到了错误:

    libstdc++.so.6: version `CXXABI_1.3.8' not found
    
    Run Code Online (Sandbox Code Playgroud)

如果你遇到这个问题,那是因为你有一个比anaconda或你的python安装更新版本的gcc.对我而言,这意味着将此路径添加到LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/libstdc++.so.6

我还必须libstdc++.so.6在错误消息中显示的路径上重命名旧的.我找不到一种方法来说服python不要在没有重命名文件的情况下查看默认路径.可能有一种更清洁的方法来做到这一点,但这对我有用.

安装中有很多隐藏的陷阱.


luc*_*key 6

在我的情况下,tensorflow-gpu已经安装并工作了一段时间,但是安装nvidia-opencl-icd-384会导致我的nvidia驱动程序从384.47升级到384.59,但没有升级libcuda,nvidia-settings和其他软件包.升级libcuda应该最有可能解决问题,但最好是清除并重新安装.

sudo apt-get purge nvidia*
sudo apt-get install libcuda1-384 nvidia-384 nvidia-384-dev nvidia-prime nvidia-settings
Run Code Online (Sandbox Code Playgroud)

对我来说,/ usr/lib和/ usr/lib32中的libnvidia-fatbinaryloader.so.384.37 - > libnvidia-fatbinaryloader.so.384.59的符号链接没有解决问题,LD_LIBRARY_PATH已经正确配置.


小智 -1

注意:TensorFlow 需要 MSVCP140.DLL,您的系统上可能未安装该DLL。如果将tensorflow导入为tf时,您看到有关“没有名为“_pywrap_tensorflow”的模块”和/或DLL加载失败的错误,请检查MSVCP140.DLL是否在您的%PATH%中,如果没有,您应该安装[Visual C++ 2015 可再发行版(x64 版本)。[1]:https://www.microsoft.com/en-us/download/details.aspx ?id=53587

我建议你看看tensorflow的官方文档

很抱歉我没有看到你使用 Ubuntu 我使用的是 Windows10 非常抱歉