【问题标题】:Training in tensor flow cpu version too slow在 tensorflow cpu 版本中训练太慢了
【发布时间】:2018-02-26 19:17:01
【问题描述】:

我已经安装了 Tensorflow cpu 版本。我只有很少的图像作为数据集,我正在一台具有 4GB 内存和 Core i5 3340m 2.70GHZ 批量大小为 1 的机器上进行训练,它仍然非常慢。所有图像的大小都是相同(我认为是 200X185)。它会这样训练吗?请告诉我如何加快这个过程?

Training porcess

【问题讨论】:

  • “它会训练...”是什么意思?它目前正在您提供的图像中进行训练。模型训练绝对不是一件快速的事情。没有代码,您尝试实现的示例或任何具体问题,我不确定这是否适合 SO。
  • 每个 epoch 最多 120 秒不算太长,我一般会等几天才训练一个模型

标签: python python-3.x tensorflow machine-learning training-data


【解决方案1】:

如果您的网络很深,使用 CPU 训练您的网络可能需要很长时间,因为它没有像 GPU 那样针对计算进行优化。

我建议你买个显卡,即使是旧版本的显卡也能显着提高性能(可能快 100 倍)。

【讨论】:

    【解决方案2】:

    让我们在这里输入一些数字。您正在处理大小为 200x185 的图像。您是否意识到我们正在谈论 37000 个功能?如果我们处理灰度级。如果我们处理 RGB,则将其乘以 3。您使用多少张图像进行训练?还要记住,对于大数据集,SGD(随机梯度下降,小批量大小 = 1)往往非常慢......给我们一些数字。有多少训练图像,什么是“慢”。一个纪元需要多少时间。其他东西:编程语言、库(tensorflow 等)、优化器等将帮助我们判断您的代码是否“慢”以及是否可以更快。

    【讨论】:

      【解决方案3】:

      batch size 是另一个影响训练时间的参数:更大的尺寸将有助于减少每个 epoch 的时间,但需要更多的 epoch 才能达到与 size=1 相同的效率

      如果你的网络很深(使用 CNN 等),你应该在 GPU 上运行

      【讨论】:

        猜你喜欢
        • 2017-03-30
        • 2019-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-31
        • 2019-12-20
        • 1970-01-01
        相关资源
        最近更新 更多