参考:"sample", "batch", "epoch" 分别是什么?
-
Sample: 样本,数据集中的一个元素,一条数据。
-
例1: 在卷积神经网络中,一张图像是一个样本。
-
例2: 在语音识别模型中,一段音频是一个样本。
-
-
Batch: 批,含有 N 个样本的集合。每一个 batch 的样本都是独立并行处理的。在训练时,一个 batch 的结果只会用来更新一次模型。
-
一个 batch 的样本通常比单个输入更接近于总体输入数据的分布,batch 越大就越近似。然而,每个 batch 将花费更长的时间来处理,并且仍然只更新模型一次。在推理(评估/预测)时,建议条件允许的情况下选择一个尽可能大的 batch,(因为较大的 batch 通常评估/预测的速度会更快)。
-
-
Epoch: 轮次,通常被定义为 「在整个数据集上的一轮迭代」,用于训练的不同的阶段,这有利于记录和定期评估。
-
当在 Keras 模型的
fit
方法中使用validation_data
或validation_split
时,评估将在每个 epoch 结束时运行。 -
在 Keras 中,可以添加专门的用于在 epoch 结束时运行的 callbacks 回调。例如学习率变化和模型检查点(保存)。
-