从CUDA 10.2的源构建tensorflow==1.15.4后,GPU未被识别



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

因此,我想从源代码安装它并自己构建它。我遵守了这些官方指示。在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在这里是多余的,但为了确保安全,我还是包含了它。

我最初在构建过程中遇到了一个错误,我可以通过这个解决这个问题。之后,编译成功完成。

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

import tensorflow as tf

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

有人能告诉我我在这里做错了什么吗?

我试图复制的代码将CUDA_VISIBLE_DEVICES=1设置为环境变量。由于对Tensorflow缺乏经验,我也在不理解我的意思的情况下设置了这个。

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

最新更新