【问题标题】:GPU not recognized after building tensorflow==1.15.4 from source with CUDA 10.2使用 CUDA 10.2 从源代码构建 tensorflow==1.15.4 后 GPU 无法识别
【发布时间】:2020-12-03 09:30:11
【问题描述】:

对于一些我想复制的代码,我需要安装 tensorflow==1.15.4 并支持 GPU。不幸的是,预构建的二进制文件是 compiled with CUDA 10.0,但我的系统上有 CUDA 10.2。

因此,我想从源代码安装它并自己构建它。我关注了these official instructions。在configure 期间,我始终选择默认值,但Do you wish to build TensorFlow with CUDA support? [y/N]: 除外,我用Y 回答。我使用了以下构建命令:

bazel build --config=v1 --config=cuda //tensorflow/tools/pip_package:build_pip_package

我认为--config=cuda 在这里是多余的,但我还是把它包括在内以确保。

我最初在构建过程中遇到了一个错误,我可以使用this 解决该错误。之后,编译成功完成。

令我惊讶的是,安装后运行以下 sn-p 表明我的 GPU 仍然无法与 tensorflow 一起使用。

import tensorflow as tf


tf.test.is_built_with_cuda()  # True
tf.test.is_gpu_available()  # False

谁能告诉我我在这里做错了什么?

【问题讨论】:

  • 你确定你导入和调用的tensorflow就是你自己构建的吗?
  • @talonmies 似乎是这样。运行python -c "import tensorflow as tf; print('\n'.join(tf.__path__))" 导致this output。这是我安装内置轮子的库。
  • 发现问题:我将CUDA_VISIBLE_DEVICES=1 作为环境变量,如the sample code I'm trying to replicate 中所示。如果我将其设置为0 或完全取消设置,GPU 将被识别。你知道背后的原因吗?如果是这样,您能否创建一个答案以便我接受?
  • 您可以并且应该创建自己的答案。回答你自己的问题是完全可以的
  • @talonmies 我知道这一点。但在那种情况下,答案不会包括修复工作的原因。如果你也不知道,我很乐意自己回答。

标签: tensorflow build gpu


【解决方案1】:

code I was trying to replicate 已将 CUDA_VISIBLE_DEVICES=1 设置为环境变量。由于对 Tensorflow 的缺乏经验,我也在不理解我的意思的情况下设置了这个。

由于我只有一个 GPU,即索引 0,我的 GPU 未被识别。因此,这与按预期工作的构建无关。

【讨论】:

    猜你喜欢
    • 2020-01-14
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2021-10-27
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多