【发布时间】: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