ImportError:libcublas.so.9.0:无法打开共享对象文件:没有此文件或目录

ImportError:libcublas.so.9.0:无法打开共享对象文件:没有此文件或目录

当我想在 Ubuntu 16.04 上导入 tensorflow-gpu 时出现此错误。

我已经正确安装了 CUDA 9.1,正确安装了 cudNN 7.1,并且对两者进行了测试,没有遇到任何问题。(使用 python 3.5 2.)

我曾以任意方式使用过 pip3(使用多个 tensorflow 版本):我尝试过:

#for tensoflow 1.4
pip3 install tensorflow-gpu==1.4
# for tensorflow 1.8 from source
pip3 install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0rc1-cp35-cp35m-linux_x86_64.whl

我尝试安装多个版本的 tensorflow-gpu,1.4、1.5、1.8、1.9。运行时仍然出现相同的错误

import tensorflow as tf 

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

有什么办法可以摆脱这个问题吗?或者只是安装 cuda 9.0(这将是痛苦的,因为我花了一周的时间才安装 cuda 9.1,因为 nvidia 和 Ubuntu 的问题!)

我还安装了 libcupti(必需)和 Bazel(必需)。来自此页面: http://www.python36.com/install-tensorflow141-gpu/2/

此外,我在 Windows 上安装了相同的设置(tensorflow 1.8,cuda 9.1),没有任何问题。

答案1

您正在尝试构建tensorflow-gpu 1.4,它太旧,无法与 CUDA 9.1 兼容。

从这里你有三个选择:

  1. 您可以尝试创建一个符号链接来强制系统使用 CUDA 9.1,但不确定是否会成功

  2. 您可以关注本教程它解释了如何在 Ubuntu 16.04 上轻松安装 CUDA 9.0。

  3. 如果仍然不起作用,并且你真的想要尝试安装带有 CUDA 9.1 的 Tensorflow,您可以尝试安装通用计算架构自定义动态神经网络全国临床研究委员会来自 NVIDIA 站点的源代码,然后模拟从 ppa 安装这些包的方式。

下载tar软件包后,输入以下命令来配置 CUDA:

sudo mkdir -p /usr/local/cuda /usr/local/cuda/extras/CUPTI /usr/local/cuda/nvvm
sudo ln -s /usr/bin /usr/local/cuda/bin
sudo ln -s /usr/include /usr/local/cuda/include
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/local/cuda/lib64
sudo ln -s /usr/local/cuda/lib64 /usr/local/cuda/lib
sudo ln -s /usr/include /usr/local/cuda/extras/CUPTI/include
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/local/cuda/extras/CUPTI/lib64
sudo ln -s /usr/lib/nvidia-cuda-toolkit/libdevice /usr/local/cuda/nvvm/libdevice

然后,您可以从源代码下载 cuDNN 和 NCCL,并按照与上述相同的方式配置它们(这篇文章解释如何操作),或者下载他们的.deb软件包,看看现在安装是否有效。如果不行,请尝试从源代码安装。

相关内容