大型数据集的最佳批量大小是多少?

时间:2019-07-14 03:28:25

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

我正在处理45000张图像的数据集。

1)这样的大型数据集应该使用多少批处理大小??

2)我应该使用哪种优化器,例如Adam或SGD,我总是有些困惑,总是选择优化器。

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

1 个答案:

答案 0 :(得分:1)

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

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

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

最后,值得一提的是:

  • 批处理量太大(例如1024)可能会妨碍培训过程,除非您采取其他措施来处理潜在问题
  • 批量大小和学习率不是两个独立变量,如果您修改批量大小,则最好相应地调整学习率。