“sample”, “batch”, “epoch” 分别是什么?

“sample”, “batch”, “epoch” 分别是什么?

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

猜你喜欢

转载自blog.csdn.net/as1490047935/article/details/105059229