Deep learning 批次数和历元数

Deep learning 批次数和历元数,deep-learning,neural-network,conv-neural-network,batchsize,Deep Learning,Neural Network,Conv Neural Network,Batchsize,我一直在努力理解历元和批量大小的概念。您可以在下面看到我的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 -

我一直在努力理解历元和批量大小的概念。您可以在下面看到我的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个epoche,具有32个批量大小。由于batch size是每个历元的样本数,因此有163*32=5216个样本,但数据集中只有3459个样本。那么,当数据集不正确时,它是否开始从数据集的开头拍摄图像呢?

batch size是您输入到模型的每个迭代的样本数。
例如,如果您有一个具有10000个样本的数据集,并且您使用的批大小为100,则需要
10000/100=100
迭代才能达到一个新纪元

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

知道您的样品只有3459个,每个批次大小将为3459/32=108。
您应该已经知道设置了什么批次大小,但这也应该会给出答案

至于如何构建批次,这取决于实现情况,有些只是不使用不构成完整批次的项目,有些使用较小的批次(剩余的部分将生成一个批次),有些则合并以前迭代的图像以弥补缺少的计数。

批次大小不是每个历元的样本数;请更新您的问题,以包括您的
批量大小设置。与此同时,请参见