使用 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 没有被识别。因此,这与按预期工作的构建无关。
对于一些我想复制的代码,我需要安装 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 没有被识别。因此,这与按预期工作的构建无关。