epoch、batch size和steps_per_epoch的区别
在深度学习训练过程中,epoch
、batch size
和steps_per_epoch
是三个关键概念,它们的区别和关系如下:
1. Epoch(训练轮次)
- 定义:1个epoch表示模型完整遍历整个训练数据集一次(所有样本都被模型学习过一遍)。
- 作用:通常需要多个epoch(如50、100轮)让模型充分学习数据特征。
- 示例:若训练集有1000个样本,1个epoch即模型看过这1000个样本一次。
2. Batch Size(批大小)
- 定义:每次迭代(step)时一次性输入模型的样本数量。
- 作用:
- 内存效率:批量处理减少内存占用(相比单样本训练)。
- 梯度稳定性:批量数据的梯度均值更稳定(相比随机梯度下降)。
- 示例:若batch