Keras进度条显示什么?

brccelvz  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(270)

在拟合模型和评估其性能时进度条是如何显示的?我知道如何使其可见,但它是基于什么的呢?
我做了一个简单的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

我没有找到这些条形图到底显示了什么的信息。所以我希望能有任何见解。

r1zhe5dt

r1zhe5dt1#

我对进度条也有同样的疑问,发现了这个:

**示例(1)**x1c 0d1x

历元是直接的!在我的模型中我定义历元的数量是6。

  • 第一部分(纪元2/6):显示模型已行程所有定型范例两次。

但是进度条的81/81部分是什么?

  • 第二部分(81/82):显示每个时期拟合过程的进度(每个时期的步骤)。我的训练集有2569个示例,批大小为32。那么23262/32 ~81
    示例(2)

历元数为80。

  • 第一部分(Epoch x/80):显示模型已行程所有定型范例x次。

同样,为什么进度条中显示的是30/30?

  • 第二部分(30/30):来源:训练集有2569个例子,我的batch_size是100。那么:ceil(2935/100) = 30
kiayqfof

kiayqfof2#

正如评论中所说:进度条显示每个时期的进度,并设计为在线更新,直到时期结束。通常情况下,进度条已满,并为下一个时期启动新的进度条。
有时候,根据你在哪个终端启动程序,进度条会开始一个新的行。一个很好的例子是Pycharm,你可以在终端或运行选项卡中运行你的python脚本,这两个选项卡都在程序的底部。这里的进度条会有不同的表现,但通常终端选项卡会显示正常的和期望的行为。

相关问题