当导入Python时出现错误:ImportError: libcublas.so.9.0: 无法打开共享对象文件:没有那个文件或目录。

3
我尝试了很多解决方案,比如从不同的来源安装,官方的谷歌链接Google.api...pypi以及从git仓库构建。但每次都会遇到相同的问题:ImportError: libcublas.so.9.0:
操作系统:Linux Arch,tensorflow版本为tensorflow-gpu 1.5
Nvidia:Cuda 9.1 and Cudnn 7.0.5

注意:tensorflow cpu可以正常工作。

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/lib/python3.6/site-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.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, 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 "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/lib/python3.6/site-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/lib/python3.6/site-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.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, 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.


for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

2
你考虑过使用Docker/NVIDIA-Docker吗?我写了一篇关于在Arch Linux上使用Docker安装TensorFlow GPU版本的文章,链接在这里:http://briancaffey.github.io/2017/11/19/tensorflow-gpu-setup-with-docker-on-arch-linux.html。你使用的是什么GPU? - briancaffey
是的,只是考虑一下。因为现在已经没有其他可能的解决方案需要考虑了。 GPU:NVIDIA NVS 5200M 顺便说一句,不错的文章。 - Zayn Korai
谢谢,是的,我花了几个小时尝试了所有其他解决方案,但都没有成功,然后 Docker 在第一次尝试时就起作用了。希望你也能让它正常工作。 - briancaffey
1个回答

5
你的错误信息表明Tensorflow正在寻找CUDA 9.0,而默认下载的是CUDA 9.1。建议你将CUDA降级至9.0版本。我刚刚安装了TF预编译二进制文件和对应的cudnn 7.05,一切顺利运行。从这里这里可以看出,CUDA 9.1仍然存在一些问题需要解决。
另外请注意,目前TF 1.5安装指南似乎有误,因为它指定了CUDA 8.0和cudnn 6.0的预编译TF,而发行说明则指定了cuda 9和cudnn 7。

最近我也遇到了同样的问题,当我尝试使用CUDA9.1运行TF 1.5时,降级到CUDA 9.0就解决了这个问题。 - Chris Fregly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接