【发布时间】:2021-06-11 20:21:00
【问题描述】:
问题
Tensorflow 2.4.1 无法识别我的 GPU,尽管我关注了 the official instructions from Tensorflow 以及来自 NVIDIA for CUDA 和 NVIDIA for cuDNN 的那些将它安装到我的计算机中。我还在 conda 中安装了它(我不确定是否需要它?)。
当我尝试 official way to check if TF 使用 GPU 时,我得到 0:
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
Num GPUs Available: 0
规格
硬件:
我的 NVIDIA 满足 specified by Tensorflow 的要求。
软件
如上所述,我安装了 CUDA(带有 CUPTI)和 cuDNN,所以我得到了:
ubuntu 20.04 LTSNVIDIA driver = 460.39CUDA (+CUPTI) = 11.2cuDNN = 8.1.1
在我的 conda 环境中:
python = 3.8-
tensorflow = 2.4.1(据我了解,这是获得 GPU 支持的新方式)
我为conda 安装了额外的cudatoolkit==11.0 和cudnn==8.0,如上所述here。
程序如下:
当我没有 conda 额外包时它不起作用,即使我安装了这些额外包它仍然不起作用。
【问题讨论】:
-
所以当你按照官方的 tensorflow 安装说明进行操作时,我猜你跳过了“TensorFlow 支持 CUDA® 11”这句话。您需要安装 CUDA 11.0
-
你说得对,它提到了
TensorFlow supports CUDA® 11,但我认为他们的意思是 11.x,而不是具体的 11.0。我会将 CUDA 降级到 11.0,并将 cuDNN 降级到 8.0.4,然后再试一次。但是,如果我理解正确,我可以安全地删除通过conda安装的额外的cudatoolkit和cudnn,因为它们并不是真正需要的,对吧? -
您要么使用 pip 安装的 tensorflow 和 CUDA 11,要么只使用 conda 安装并获取它分发的二进制运行时。但不要两者都做。现在,您可能正在使用错误的运行时运行 pip tensorflow。如果您正确设置环境,则可以使用 conda 中的所有内容。但你显然没有这样做。选择一个,由你决定
-
您没有遵循确切的官方指示,这就是您最终遇到此类问题的原因。
标签: python tensorflow gpu ubuntu-20.04