从源代码安装tensorflow,cuda9.1,cuDNN7.0.5,找不到libcublas.so.9.1

时间:2018-01-20 16:08:45

标签: tensorflow

错误:/home/kenny/Downloads/tensorflow-1.5.0-rc1/tensorflow/contrib/lite/toco/BUILD:326:1:链接规则' // tensorflow / contrib / lite / toco :托科'失败(退出1) / usr / bin / ld:警告:libcublas.so.9.1,需要bazel-out / k8-py3-opt / bin / _solib_local / _U_S_Stensorflow_Scontrib_Slite_Stoco_Ctoco ___ Utensorflow / libtensorflow_framework.so,找不到(尝试使用-rpath或-rpath-link)

4 个答案:

答案 0 :(得分:1)

检查此问题评论 https://github.com/tensorflow/tensorflow/issues/15656#issuecomment-362104182

当前版本的TensorFlow(1.7)不支持CUDA9.1,但您应该有几个选项:

  1. 降级至CUDA 9.0
  2. 通过您自己的
  3. 从源代码编译TensorFlow
  4. 为您查找现有的whl文件(非官方发布)。恩。我使用https://github.com/mind/wheels
  5. 中的whl解决了这个问题
  6. 等到Tensorflow支持CUDA9.1:)

答案 1 :(得分:0)

看起来您需要从Nvidia安装Cuda 9.1作为从源构建的先决条件。

答案 2 :(得分:0)

我也有类似的问题。在您的--action_env="LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"命令中添加此标志bazel build可能会解决此问题。确保已将环境变量LD_LIBRARY_PATH设置为/usr/local/cuda/lib64或存在cuda工具包安装的位置。

编辑:如果设置环境变量不起作用。您可以通过运行sudo ldconfig -v|grep 'libcublas.so.9.1'进一步尝试。在我的情况下,cuda的版本是9.1,因此我验证了相同的。如果grep没有返回预期的库,只需尝试其他方式来注册ldconfig的路径

答案 3 :(得分:0)

这是一个奇怪的动态链接库错误。

某种方式bazel不承认LD_CONFIG。您必须手动更新/etc/ld.so.conf(在我的情况下使用Ubuntu 17.1,配置文件位于/etc/ld.so.conf.d中),并添加一行指向/ usr / local / cuda / lib64文件夹。

然后跑     sudo ldconfig 重新构建ld缓存。您可以通过验证cuda libs在搜索文件夹中     sudo ldconfig -v | grep cuda 构建应该现在可以工作。