【问题标题】:What is the good batch size for large datasets? [closed]大型数据集的最佳批量大小是多少? [关闭]
【发布时间】:2019-07-14 03:28:25
【问题描述】:

我正在处理一个包含 45000 张图像的数据集。

1)对于像这样的大型数据集,我应该使用多少批量大小?

2)我应该使用什么优化器,比如 Adam 或 SGD,我总是有点困惑选择优化器。

环境: I7-8750h 和 GTX 1060(6GB)。

【问题讨论】:

    标签: python-3.x keras jupyter-notebook


    【解决方案1】:

    这实际上取决于您的计算资源和您的问题。

    • 从高效处理的角度来看,您应该尝试不同的批大小,看看哪些使批准备时间(按 CPU)和训练时间(按 GPU)兼容。理想情况下,我们希望批处理 GPU 时间略长于批处理 CPU 时间。
    • 从最佳利用 GPU 的角度来看,您希望在不占用所有 GPU 内存的情况下适应批次。

    对于大多数计算机视觉问题,一个好的批量大小的经验法则是 16 或 32。但是,在许多问题中,例如图像语义分割,您可能无法将这样的批次放入您的 GPU 内存。因此,人们也相应地减少了批量大小。

    最后,值得一提的是:

    • 太大的批量(例如 1024)可能会妨碍训练过程,除非您采取额外措施来处理潜在问题
    • batch size 和 learning rate 不是两个独立的变量,如果你修改一个batch size,你最好相应地调整学习率。

    【讨论】:

    • 加上小批量和小批量对象的多样性可能会妨碍学习。
    猜你喜欢
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    相关资源
    最近更新 更多