迭代(iteration)、批次(batch)、轮次(epoch)之间的关系

这个关系很多初学者都会混,我给你清晰解释 + 画一张脑图式的关系结构,保证你一眼就懂:


🧠 三者的定义

名称 定义 例子(60000张图像,batch=128)
Batch 一次送入神经网络训练的数据量(小批量样本)。 128张图片。
Iteration 一次用一个 batch 数据完成:前向传播、反向传播、权重更新。 用128张图片训练一次,权重更新1次。
Epoch 整个训练集都被送入网络训练 一遍
包含了若干次 iteration(iteration 数量 = 样本数 ÷ batch 大小)。
60000 ÷ 128 ≈ 469 次 iteration = 1个 epoch

📖 它们的关系

  1. Batch → 训练时一次性送入网络的“小样本包”。

  2. Iteration → 每处理完一个 batch,并更新一次网络权重,就算1次迭代

  3. Epoch → 把所有训练数据完整训练一遍,包含了多次 iteration

1 epoch = 样本数 ÷ batch_size 次 iteration


🔥 举个例子

假设:

  • 样本数 = 60000

  • batch_size = 128

👉 那么:

  • 1个 batch = 128张图像

  • 1个 epoch = 60000 ÷ 128 ≈ 469次 iteration

  • 3个 epoch = 469 × 3 ≈ 1407次 iteration

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐