在拟合模型和评估其性能时进度条是如何显示的?我知道如何使其可见,但它是基于什么的呢?
我做了一个简单的Sequential
模型,有几层,编译并开始训练:
# x.shape: (3270, n)
# y.shape: (3270, 1)
model.fit(x, y, epochs=20, batch_size=300)
如果我没有看错文档,那么这就是内部应该发生的事情:数据被迭代通过,使得优化步骤对于每个批次仅考虑数据的批次大小量,直到数据集被用尽。
对于大批量,epoch的进度条保持固定,似乎是整个训练数据的批量大小:
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
我没有找到这些条形图到底显示了什么的信息。所以我希望能有任何见解。
2条答案
按热度按时间r1zhe5dt1#
我对进度条也有同样的疑问,发现了这个:
**示例(1)**x1c 0d1x
历元是直接的!在我的模型中我定义历元的数量是6。
但是进度条的81/81部分是什么?
示例(2)
历元数为80。
同样,为什么进度条中显示的是30/30?
ceil(2935/100) = 30
kiayqfof2#
正如评论中所说:进度条显示每个时期的进度,并设计为在线更新,直到时期结束。通常情况下,进度条已满,并为下一个时期启动新的进度条。
有时候,根据你在哪个终端启动程序,进度条会开始一个新的行。一个很好的例子是Pycharm,你可以在终端或运行选项卡中运行你的python脚本,这两个选项卡都在程序的底部。这里的进度条会有不同的表现,但通常终端选项卡会显示正常的和期望的行为。