首页 > 解决方案 > GPU RTX 2080 Ti tensorflow 运行速度比 CPU tensorflow 慢?

问题描述

我正在使用 python 和 tensorflow 来训练机器学习模型(特别是 CNN),使用我自己定义的超重(最初有 4 个嵌套循环且计算复杂)的损失函数。为了使其更快,我使用 tf.map_fn 对所有嵌套循环进行矢量化,这会导致大量 RAM 使用,但是,我已经确认它使损失函数更快。该模型是一个相当大的 CNN 模型,有大约 200 万个参数,我用 10000 个样本进行训练,批次大小为 128。我的主要问题是,当我只使用 CPU (2.1GHz) 运行代码时,它至少运行了 100 次比在 GPU 上运行的相同代码更快(GeForce RTX 2080 Ti 计算能力:7.5)。现在的问题是我需要运行大量 epoch 的训练代码,而且需要很长时间(CPU 上 7 天,甚至超过 GPU 上的时间)。当我使用 GPU 时,我预计会看到一些速度提升,但这里似乎存在一个真正的问题。

有关基础设施设置的详细信息:1- GeForce RTX 2080 Ti 计算能力:7.5 coreClock:1.545GHz coreCount:68 deviceMemorySize:10.76GiB deviceMemoryBandwidth:573.69GiB/s 2- tensorflow-gpu 2.4.1 3- cudatoolkit 10.1.243 4- cudnn 7.6。 5 5-蟒蛇3.9.5

如果你们能帮助我理解为什么会这样以及如何解决它,我将不胜感激。

标签: performancetensorflowkerasgputensorflow2.0

解决方案


推荐阅读