Warm tip: This article is reproduced from serverfault.com, please click

deep learning-批数和纪元

(deep learning - Number of batches and epoch)

发布于 2020-12-06 18:18:42

我一直在努力了解时代和批量大小的概念。你可以在下面看到我的CNN的训练效果图:

Epoch 160/170
32/32 [==============================] - 90s 3s/step - loss: 0.5461 - accuracy: 0.8200 - val_loss: 0.6561 - val_accuracy: 0.7882
Epoch 161/170
32/32 [==============================] - 92s 3s/step - loss: 0.5057 - accuracy: 0.8356 - val_loss: 0.62020 - val_accuracy: 0.7882
Epoch 162/170
32/32 [==============================] - 90s 3s/step - loss: 0.5178 - accuracy: 0.8521 - val_loss: 0.6652 - val_accuracy: 0.7774
Epoch 163/170
32/32 [==============================] - 94s 3s/step - loss: 0.5377 - accuracy: 0.8418 - val_loss: 0.6733 - val_accuracy: 0.7822

因此,有163个世代,具有32个批处理大小。由于批次大小是每个时期的样本数量,因此数据集中只有163 * 32 = 5216个样本。那么,当他们不懂数据时,它是否会从数据集的开头开始拍摄图像吗?

Questioner
Cagatayemm
Viewed
0
Rika 2020-12-07 13:17:04

批处理大小是你提供给模型的每次迭代的样本数
例如,如果你的数据集包含10,000个样本,并且批次大小为100,则将需要10,000 / 100 = 100迭代才能达到一个纪元。

你在日志中看到的是纪元数和迭代数。
Epoch 160/170表示你当前正在运行总共170个纪元中的第160个纪元。你的每个时代都需要进行32次迭代。

知道你的样本只有3,459个,每个批次大小将为3459/32 =108。
你应该已经知道所设置的批次大小,但这也将为你提供答案。

至于批处理的方式,取决于实现方式,有些只是不使用不能构成完整批的项目,有些则使用较小的批处理(剩下的全部制成批处理),有些则合并了图像从以前的迭代中弥补不足的数量。