【问题标题】:What is the relationship between the batch size and the epochs in Keras?Keras 中的批大小和 epoch 之间有什么关系?
【发布时间】:2018-04-24 10:40:52
【问题描述】:

我正在训练一个包含 8000 个样本的模型

classifier = KerasClassifier(build_fn=build_classifier, batch_size=10, nb_epoch=100)

其中批次大小为 10(那么每个批次将包含 800 个样本)。因此,在每个 epoch 中,将使用这 800 个样本中的一个来拟合模型。以上是我理解的,有错的请指正。

输出是

纪元 1/10

10/7200 [..............................] - ETA: 2:57 - loss: 0.6932 - acc: 0.1000
440/7200 [>.............................] - ETA: 4s - loss: 0.6866 - acc: 0.7932  
1100/7200 [===>..........................] - ETA: 2s - loss: 0.6744 - acc: 0.7900
1660/7200 [=====>........................] - ETA: 1s - loss: 0.6555 - acc: 0.7910
2220/7200 [========>.....................] - ETA: 1s - loss: 0.6329 - acc: 0.7869
2930/7200 [===========>..................] - ETA: 0s - loss: 0.5990 - acc: 0.7887
3520/7200 [=============>................] - ETA: 0s - loss: 0.5744 - acc: 0.7906
4230/7200 [================>.............] - ETA: 0s - loss: 0.5564 - acc: 0.7872
4880/7200 [===================>..........] - ETA: 0s - loss: 0.5432 - acc: 0.7881
5650/7200 [======================>.......] - ETA: 0s - loss: 0.5278 - acc: 0.7913
6280/7200 [=========================>....] - ETA: 0s - loss: 0.5165 - acc: 0.7933
6910/7200 [===========================>..] - ETA: 0s - loss: 0.5059 - acc: 0.7951
7200/7200 [==============================] - 1s 123us/step - loss: 0.5051 - acc: 0.7939

为什么第一个 epoch 有 13 个细分?在每个 epoch 中,应该只有一个 batch 必须执行,对吧?

【问题讨论】:

  • batch size if 10 ,each batch will contain 800 samples不,是800批,每批10个样品。
  • @Thomson Jungblut ,我了解批量大小。你能解释一下我由于随机梯度下降得到的输出(即:我正在使用亚当优化器)。如果只是梯度下降,输出会是什么样子?

标签: deep-learning keras epoch model-fitting updatebatchsize


【解决方案1】:

批次大小是每批次的样本数。每个批处理过程称为 1 个步骤

当训练集中的所有数据都用于训练时,一个epoch就完成了。

因此,对于给定的示例,每个 epoch 将有 800 个步骤,每个批次将有 10 个样本。

猜你喜欢
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
  • 2013-10-30
  • 2015-01-02
  • 2012-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多