深度学习易混淆的超参数(iteration&Batch size&Epoch)
区分iteration&Batch size&Epoch
概念
Iteration(迭代)
Iteration是指进行一次网络权重参数更新的过程。

Batch Size(批大小)
Batch Size是指一次迭代中使用的训练示例数量。

Epoch(轮数)
Epoch 指的是 整个训练数据完整地通过模型一次。

三者关系示例
假设一个数据集有N个样本:

如图所示,假设一个数据集有6张图片,按照不同的 Batch Size 进行分批训练,则
A 方案
-
Batch Size = 3(每次用 3 张图像训练)
-
Iteration = 2(6 / 3 = 2,每次训练 3 张,需要 2 次才能完成 1 轮)
-
Epoch = 1(整个数据集被训练 1 轮)
🔹 解释:
-
6 张图像被分成 2 个 batch,每个 batch 包含 3 张图像。
-
需要 2 次 iteration(2 次参数更新)才能遍历整个数据集。
-
因为 epoch = 1,所以整个数据集只被训练了一轮。
B 方案
-
Batch Size = 2(每次用 2 张图像训练)
-
Iteration = 3(6 / 2 = 3,每次训练 2 张,需要 3 次才能完成 1 轮)
-
Epoch = 1(整个数据集被训练 1 轮)
🔹 解释:
-
6 张图像被分成 3 个 batch,每个 batch 训练 2 张图像。
-
需要 3 次 iteration(3 次参数更新)才能遍历整个数据集。
-
由于 epoch = 1,整个数据集只被训练了一轮。
C 方案
-
Batch Size = 2(每次用 2 张图像训练)
-
Iteration = 6(6 / 2 = 3,但 Epoch = 2,所以 3 × 2 = 6)
-
Epoch = 2(整个数据集被训练 2 轮)
🔹 解释:
-
6 张图像被分成 3 个 batch,每个 batch 训练 2 张图像。
-
因为 epoch = 2,所以数据集要被训练 2 轮。
-
每轮数据集需要 3 次 iteration,两轮下来一共 6 次 iteration。
更多推荐

所有评论(0)