【问题标题】:Tensorflow: on what does the batch_size depend?Tensorflow:batch_size 取决于什么?
【发布时间】:2018-08-09 13:39:07
【问题描述】:

我是 tensorflow 的新手,我试图了解 batch 的大小。

我的数据(119396, 12955) 的形状。如何为我的数据选择最佳batch_size? 以及 batch_size 对数据形状或使用算法有何依赖?

【问题讨论】:

标签: python tensorflow


【解决方案1】:

批量大小是您在模型中一次引入的输入数据值的数量。它在训练时非常重要,在测试时是次要的。对于标准的机器学习/深度学习算法,选择批量大小会影响几个方面:

  • batch size 越大,模型中一次输入的数据就越多。因此,RAM 内存消耗将几乎与batch size线性成线性关系,并且根据您的系统规格和模型大小,您的模型将始终存在限制会溢出。
  • batch size 越大,越快您将在数据集上循环 N 次以执行训练。
  • 更大的batch size减慢您的模型训练速度,这意味着您的模型需要更长的时间才能获得一次更新,因为该更新取决于更多数据。
  • 更大的batch size 将有更多数据平均用于模型的下一次更新,因此训练应该更平滑:训练/测试准确度曲线更平滑

请注意,数据大小仅与批量大小有关,因为数据越大,batch size 的最大值就越小(RAM 设置的限制)。 模型的大小也有类似的关系。

在实践中,您应该遵循“2 的幂,越大越好,前提是批处理适合您的 (GPU) 内存”。更多详细信息,请查看https://stackoverflow.com/a/46655895/9670056

【讨论】:

  • 伟大的总结@ibarrond
猜你喜欢
  • 1970-01-01
  • 2019-03-10
  • 2011-09-20
  • 2019-01-26
  • 1970-01-01
  • 2012-10-28
  • 1970-01-01
  • 2017-11-05
  • 2021-07-23
相关资源
最近更新 更多