如何使用 GPU 构建 Keras (TF) 模型?

Posted

技术标签:

【中文标题】如何使用 GPU 构建 Keras (TF) 模型?【英文标题】:How to Use Build a Keras (TF) model using GPU? 【发布时间】:2021-08-30 06:16:47 【问题描述】:

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

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

通常,在 Torch 中,只需使用“设备”参数即可轻松通过 nvidia-smi 波动率指标进行验证。我在 TF 中构建模型时尝试过,但 nvidia-smi 显示所有 GPU 设备的使用率为 0%。

【问题讨论】:

【参考方案1】:

Tensorflow默认情况下

时使用 GPU 进行大部分操作
    它检测到至少一个 GPU 其 GPU 支持已正确安装和配置。有关如何正确安装和配置它以支持 GPU 的信息:https://www.tensorflow.org/install/gpu

需要强调的要求之一是必须安装特定版本的 CUDA 库。例如TensorFlow 2.5 需要 CUDA 11.2。检查here 获取每个 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() 等模型进行训练或推理时,nvidia-smi 的日志记录中的 GPU 利用率应该很高。

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

tf.debugging.set_log_device_placement(True)

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

【讨论】:

以上是关于如何使用 GPU 构建 Keras (TF) 模型?的主要内容,如果未能解决你的问题,请参考以下文章

使用 tf.keras 模型训练时 GPU 随机冻结

如何在 Tensorflow 2.0 + Keras 中进行并行 GPU 推理?

如何使TensorFlow使用100%的GPU?

越来越火的tf.keras模型,这三种构建方式记住了,你就是大佬!!!

如何清除Tensorflow-Keras GPU内存?

如何将 tf.keras 与 bfloat16 一起使用