【问题标题】:how to choose batch size in caffe如何在 caffe 中选择批量大小
【发布时间】:2017-09-27 20:48:06
【问题描述】:

我知道更大的批量大小可以从here 得到更准确的结果。但我不确定哪个批量大小“足够好”。我想更大的批量大小总是会更好,但似乎在某个点上,每次增加批量大小只会稍微提高准确性。找到最佳批量大小是否有启发式或经验法则?

目前,我有 40000 个训练数据和 10000 个测试数据。我的批量大小是默认的,训练为 256,测试为 50。我正在使用具有 8G 内存的 NVIDIA GTX 1080。

【问题讨论】:

    标签: neural-network deep-learning caffe gradient-descent imagenet


    【解决方案1】:

    测试时批量大小不会影响准确性,您应该将其设置为您可以放入内存的最大数量,这样验证步骤将花费更短的时间。

    至于训练时的批量大小,你说得对,更大的批量会产生更稳定的训练。但是,拥有更大的批次会显着减慢训练速度。此外,每个 epoch 的反向传播更新会更少。所以你不希望批量太大。使用默认值通常是一个不错的策略。

    【讨论】:

    • 明白了。谢谢。
    • 我认为有用的范围可能是[number of labels, batch size your memory can hold]
    • @lnman for imagenet 标签数是 1000……我认为这不合理
    • 是的,我知道。这就是为什么我说有用的范围和memory can hold 部分。
    • @lnman 假设你有一个非常大的内存,你会设置'batch_size:1000'吗?我不这么认为。我认为 256 是一个非常 large 开始的批量大小。根据我的有限经验,我认为~50 更像是一个正常尺寸。
    【解决方案2】:

    请参阅my masters thesis, page 59 了解选择更大批量大小/更小批量大小的一些原因。你想看看

    • 直到收敛的时期
    • 每个时期的时间:越高越好
    • 结果模型质量:越低越好(在我的实验中)

    批量大小为 32 对我的数据集/模型/训练算法非常有用。

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 2016-12-24
      • 1970-01-01
      • 2021-05-31
      • 2016-02-14
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2016-08-28
      相关资源
      最近更新 更多