【发布时间】:2018-08-09 13:39:07
【问题描述】:
我是 tensorflow 的新手,我试图了解 batch 的大小。
我的数据(119396, 12955) 的形状。如何为我的数据选择最佳batch_size?
以及 batch_size 对数据形状或使用算法有何依赖?
【问题讨论】:
-
@ValBerthe 不是那个重复
标签: python tensorflow
我是 tensorflow 的新手,我试图了解 batch 的大小。
我的数据(119396, 12955) 的形状。如何为我的数据选择最佳batch_size?
以及 batch_size 对数据形状或使用算法有何依赖?
【问题讨论】:
标签: python tensorflow
批量大小是您在模型中一次引入的输入数据值的数量。它在训练时非常重要,在测试时是次要的。对于标准的机器学习/深度学习算法,选择批量大小会影响几个方面:
batch size 越大,模型中一次输入的数据就越多。因此,RAM 内存消耗将几乎与batch size线性成线性关系,并且根据您的系统规格和模型大小,您的模型将始终存在限制会溢出。batch size 越大,越快您将在数据集上循环 N 次以执行训练。batch size 将减慢您的模型训练速度,这意味着您的模型需要更长的时间才能获得一次更新,因为该更新取决于更多数据。batch size 将有更多数据平均用于模型的下一次更新,因此训练应该更平滑:训练/测试准确度曲线更平滑。请注意,数据大小仅与批量大小有关,因为数据越大,batch size 的最大值就越小(RAM 设置的限制)。 模型的大小也有类似的关系。
在实践中,您应该遵循“2 的幂,越大越好,前提是批处理适合您的 (GPU) 内存”。更多详细信息,请查看https://stackoverflow.com/a/46655895/9670056。
【讨论】: