使用 CUDA 10.2 从源代码构建 tensorflow==1.15.4 后无法识别 GPU

GPU not recognized after building tensorflow==1.15.4 from source with CUDA 10.2

对于一些我想复制的代码,我需要安装 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 解决这个错误。之后编译成功。

令我惊讶的是,运行 安装后的以下代码片段表明我的 GPU 仍然无法用于 tensorflow

import tensorflow as tf


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

有人可以告诉我我做错了什么吗?

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

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