batch_size = 32 为什么运行后每一个 Epoch 下不是显示 32 个批次,而只是显示一个批次?

来源:2-4 实战分类模型之模型构建

慕神4535282

2021-04-10

老师,下午好!
RT,

history = model.fit(x_train, y_train, epochs = 10, batch_size = 32,
                    validation_data = (x_valid, y_valid))

输出结果是:

Epoch 1/10
1719/1719 [==============================] - 3s 2ms/step - loss: 13.4092 - accuracy: 0.6626 - val_loss: 0.5988 - val_accuracy: 0.7938
Epoch 2/10

为什么会是上面这样,
根据 https://mp.weixin.qq.com/s/FFF6RSudAas7j2vHqP5j2Q
输出结果应该是:

Epoch 1/10
1719/1719 [==============================] - 3s 2ms/step - loss: 13.4092 - accuracy: 0.6626 - val_loss: 0.5988 - val_accuracy: 0.7938
1719/1719 [==============================] - 3s 2ms/step - loss: 13.4092 - accuracy: 0.6626 - val_loss: 0.5988 - val_accuracy: 0.7938
1719/1719 [==============================] - 3s 2ms/step - loss: 13.4092 - accuracy: 0.6626 - val_loss: 0.5988 - val_accuracy: 0.7938
...
这样一共有32次才到
Epoch 2/10 
呀?

谢谢老师解答!!!

写回答

1回答

正十七

2021-04-14

先别管那篇文章里怎么说的,在tf里,

一个epoch指的是遍历整个数据集一遍。

batch_size是每一步需要多少个样本。

这样,一个epoch需要的步数就是 总样本数 / batch_size = 55000 / 32 = 1719。

所以走完1719步后,一个epoch就完成了。

0
1
慕神4535282
非常感谢!
2021-04-14
共1条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程