新的Tensorflow 2.4 GPU问题



问题

Tensorflow 2.4.1无法识别我的GPU,尽管我按照Tensorflow的官方说明以及NVIDIA for CUDA和NVIDIA forCUDNN的说明将其安装在我的计算机中。我还在conda中安装了它(我不确定是否需要它?(。

当我尝试官方方式检查TF是否使用GPU时,我得到0:

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
Num GPUs Available: 0

规格

硬件:

我的NVIDIA满足Tensorflow指定的要求。

软件

如上所述,我安装了CUDA(带有CUPTI(和cuDNN,所以我得到了:

  • ubuntu 20.04 LTS
  • NVIDIA driver = 460.39
  • CUDA (+CUPTI) = 11.2
  • cuDNN = 8.1.1

在conda环境中,我有:

  • python = 3.8
  • tensorflow = 2.4.1(据我所知,这是支持GPU的新方式(

和我为conda额外安装了cudatoolkit==11.0cudnn==8.0,如上所述。

遵循的程序:

当我没有conda额外的包时,它就不起作用了,即使我安装了这些额外的包,它仍然不起作用。

经过大量的研究,它终于在我的计算机上工作了:最新版本的组件(即CUDA 11.2cuDNN 8.1.0(没有经过测试,也不能确保TF 2.4.1中的工作结果。因此,这是我的最终配置:

  1. nvidia-drivers-460.39具有CUDA 11.2驱动程序。但是,您仍然可以安装CUDA 11.0运行时,并从CUDA的官方NVIDIA档案中获取。遵循安装说明仍然是强制性的(即添加路径变量等(
  2. cuDNN库需要在8.0.4版本上。您也可以从cuDNN的NVIDIA官方档案中获得

在这些特定版本上安装了两个组件后,我成功地获得了:

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
Num GPUs Available: 1

其中一些首秀消息指示GPU库被正确导入。

编辑:

对了!对于那些使用Pycharm的人来说,要么在Pycharm中也包含环境变量,要么在系统范围内使用它们。否则,你将无法让你的TF获得GPU。

最新更新