当我想在 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 兼容。
从这里你有三个选择:
您可以尝试创建一个符号链接来强制系统使用 CUDA 9.1,但不确定是否会成功
您可以关注本教程它解释了如何在 Ubuntu 16.04 上轻松安装 CUDA 9.0。
如果仍然不起作用,并且你真的想要尝试安装带有 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
软件包,看看现在安装是否有效。如果不行,请尝试从源代码安装。