拟合模型和评估其性能时进度条如何显示?我知道如何让它可见,但它是基于什么?
我制作了一个简单的带有几层的Sequential
模型,编译并开始训练:
# x.shape: (3270, n)
# y.shape: (3270, 1)
model.fit(x, y, epochs=20, batch_size=300)
如果我正确地阅读了文档,这就是内部应该发生的事情:迭代数据,以便优化步骤仅考虑每个批处理的数据量,直到数据集耗尽。然后开始下一个纪元。
对于大批量大小,纪元的进度条保持固定,似乎它是整个训练数据的批量大小:
300/3270 [=>............................] - ETA: 0s - loss: 0.4178 - acc: 0.8433
3270/3270 [==============================] - 0s 9us/step - loss: 0.3813 - acc: 0.8593
Epoch 17/20
但是对于较小的尺寸,似乎有更多且数量不同的条形,并且它们实际上显示了一些移动。
30/3270 [..............................] - ETA: 0s - loss: 0.5154 - acc: 0.8333
1770/3270 [===============>..............] - ETA: 0s - loss: 0.3560 - acc: 0.8621
3270/3270 [==============================] - 0s 29us/step - loss: 0.3631 - acc: 0.8618
Epoch 19/20
30/3270 [..............................] - ETA: 0s - loss: 0.3360 - acc: 0.8667
1620/3270 [=============>................] - ETA: 0s - loss: 0.3473 - acc: 0.8667
3120/3270 [===========================>..] - ETA: 0s - loss: 0.3599 - acc: 0.8622
3270/3270 [==============================] - 0s 33us/step - loss: 0.3592 - acc: 0.8621
Epoch 20/20
我没有找到有关这些条形具体显示什么的信息。所以我很感激任何见解。
最佳答案
我对进度条也有同样的疑问,并发现了这个:
时代很简单!在我的模型中,我定义纪元数为 6。
- 第一部分(Epoch 2/6):显示模型已将所有训练样本处理了两次。
但是进度条的 81/81 部分是什么?
- 第二部分(81/81):显示每个时期的拟合过程的进度(每个时期的步骤)。我的训练集有2569个样本,我的batch_size是32。那么23262/32 ~81
纪元数为 80。
- 第一部分(Epoch x/80):显示模型已处理所有训练样本 x 次。
再说一遍,为什么进度条上会显示 30/30 数字?
- 第二部分(30/30):来自:训练集有2569个样本,我的batch_size是100。然后:
ceil(2935/100) = 30
关于python - Keras 进度条显示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50850570/