首页 > 解决方案 > 如何使用 GPU 构建 Keras (TF) 模型?

问题描述

这个问题非常简单,但没有真正得到答案。

很简单,我怎么知道当我通过 Keras 在 tensorflow 中构建 Sequential() 模型时,它会使用我的 GPU?

标签: tensorflowkerasgpunvidia

解决方案


默认情况下,Tensorflow 使用 GPU 进行大部分操作

  1. 它检测到至少一个 GPU
  2. 它的 GPU 支持已正确安装和配置。有关如何正确安装和配置它以支持 GPU 的信息:https ://www.tensorflow.org/install/gpu

要强调的要求之一是必须安装特定版本的 CUDA 库。例如,Tensorflow 2.5 需要 CUDA 11.2。在此处查看每个 TF 版本所需的 CUDA 版本。

要知道它是否检测到 GPU 设备:

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

它还会默认将调试消息打印到 stderr 以指示 GPU 支持是否配置正确以及是否检测到 GPU 设备。

要验证nvidia-smi它确实在使用 GPU:

你必须定义一个足够深和复杂的神经网络模型,这样瓶颈就在 GPU 端。这可以通过增加层数和每层中的通道数来实现。

model.fit()在对和等模型进行训练或推理时,model.evaluate()日志记录中的 GPU 利用率nvidia-smi应该很高。

要确切知道每个操作将在哪里执行,您可以在代码的开头添加以下行

tf.debugging.set_log_device_placement(True)

欲了解更多信息:https ://www.tensorflow.org/guide/gpu


推荐阅读