ImportError:libcublas.so.9.0:无法打开共享对象文件

arv*_*ind 36 cuda python-3.x keras tensorflow

目前我在Gpu支持系统中安装了cuda 8.0和cuda 9.0.从keras模块导入时遇到此错误.它说像无法加载原生tensorflow运行时.我收到的错误日志是:

Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, 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: libcublas.so.9.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 "Try1.py", line 11, in <module>
from keras.models import Sequential
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/__init__.py", line 3, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/utils/__init__.py", line 6, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/utils/conv_utils.py", line 3, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/backend/__init__.py", line 83, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/backend/tensorflow_backend.py", 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 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 73, 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 58, 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: libcublas.so.9.0: cannot open shared object file: No such file or directory


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

当我运行nvcc --version时,返回的cuda版本是,

Cuda compilation tools, release 8.0, V8.0.61
Run Code Online (Sandbox Code Playgroud)

我读过一些类似的帖子,但无法解决我的问题.大多数情况下,我认为这是两个cuda版本之间的冲突.谁能告诉我如何解决这个问题?提前致谢.

lay*_*yog 39

你需要更新你的LD_LIBRARY_PATH,以便它指向/usr/local/cuda-9.0/lib64.将以下行添加到您的.bashrc文件(或您使用的任何其他终端)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/
Run Code Online (Sandbox Code Playgroud)

  • 该命令应该是`export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr/local/cuda-9.0/lib64 /` (4认同)

daV*_*ere 5

Tensorflow Binaries目前不支持Cuda 9.1。所以解决方案可能只是从源代码安装Tensorflow 。

在为Tensorflow安装Cuda 9.1 + cuDNN 6时,我也遇到了上述问题,这对我有用。

https://devtalk.nvidia.com/default/topic/1026198/cuda-setup-and-installation/cuda-9-0-importerror-libcublas-so-8-0

此外,您有以下两种选择:

  1. CUDA 8.0 + Tensorflow-与Tensorflow Binaries一起使用的最稳定的CUDA版本。

  2. CUDA 9.0 + Tensorflow-Tensorflow Binaries兼容的最新CUDA版本。