Tensorflow-gpu 1.5与cuda 8.0和cudnn v7.1 for cuda 8.0

时间:2018-03-20 22:47:03

标签: tensorflow importerror cudnn

我首先为cuda 9.0和最新的tensorflow-gpu 1.6安装了cuda 9.0和cudnn。但我注意到我的nvidia-driver 384.111并不支持cuda 9.0。所以我卸载了cuda 9.0,cudnn和tensorflow-gpu 1.5并重新安装了tensuflow-gpu 1.5,cuda8.0和cudnn v7.1 for cuda 8.0。但是当我导入tensorflow时,它总是显示:

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 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 74, 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 58, 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: libcublas.so.9.0: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.

似乎tensorflow试图找到libcublas.so.9.0但是我只安装了cuda 8.0。很明显,我可以使用cuda 8.0的tensorflow 1.5。

有谁知道如何解决这个问题?

更新: 看起来tensorflow在tensorflow 1.4之后没有提供用cuda 8.0和cudnn v7.1编译的二进制文件。有没有人知道在哪里下载这些二进制文件?

2 个答案:

答案 0 :(得分:1)

我假设您使用 pip install 安装TF。 Tensorflow install page(目前版本为1.6)提到CUDA®Toolkit9.0以及cuDNN v7.0是您安装的要求。

由于TF版本1.5 CUDA9 + CUDNN7属于新要求。由于CUDA9依赖于NVIDIA驱动程序384+,它会导致一系列软件更新:驱动程序,CUDA,CUDNN,TF等.CUDA 9.1将需要nvidia驱动程序390或更高版本。

解决问题的方法可以遵循以下路径之一:

  • 更新nvidia驱动程序并切换回CUDA 9.0和cuDNN 7.0。您可以在系统上共存多个版本的CUDA和CUDNN。
  • 安装TF 1.4,它完全需要CUDA 8.0和cuDNN v6.0
  • 编译TF from source。它需要投入一些时间并安装其他软件。根据我的经验,即使不是你第一次,也很容易花费数小时。
  • 找到为您的系统配置编译的TF轮。

答案 1 :(得分:0)

我在安装tensorflow-gpu-1.6时遇到了同样的问题,我已经解决了这个问题:
步骤(1):对于tensorflow-gpu-1.6我们可以使用cuda9.0和cudnn7这样下载cuda9.0 debian如果你使用的是Ubuntu,你可以从这里下载cuda9.0 https://developer.nvidia.com/cuda-90-download-archive
步骤(2):输入以下命令

sudo apt-get --purge remove cuda

步骤(3):
sudo apt autoremove

步骤(4):现在安装下载的cuda9.0文件
步骤(5):和nvidia驱动程序384对cuda9.0没问题,所以不用担心 步骤(6):在bashrc
gedit ~/.bashrc
中编辑cuda9.0的路径  我做了同样的程序,比如我从我的电脑中删除了与cuda相关的所有东西,然后尝试安装cuda9.0,它确实对我有用。
 让我知道问题是否得到解决,谢谢。