并非每个节点都是由tensorflow.keras计算的

我运行这个源代码。


计算60000个训练数据和10000个测试数据


我想每个纪元应该计算60000次,如下所示


x_train shape: (60000, 28, 28, 1)

y_train shape: (60000,)

60000 train samples

10000 test samples

60000/60000 [==============================]

.

.

.

然而实际上结果是这样的


x_train shape: (60000, 28, 28, 1)

y_train shape: (60000,)

60000 train samples

10000 test samples

469/469 [==============================] - 32s 69ms/step - loss: 2.2910 - accuracy: 0.1347 - val_loss: 2.2686 - val_accuracy: 0.3145

Test loss: 2.2686383724212646

Test accuracy: 0.31450000405311584

elapsed time:34.918644189834595

为什么只计算了469次???哪里错了??


UYOU
浏览 106回答 1
1回答

qq_花开花谢_0

您需要在 model.fit() 函数中正确设置steps_per_epochs和validation_steps参数。steps_per_epoch训练纪元被视为完成之前的批次迭代次数。如果你有一个固定大小的训练集,你可以忽略它,但如果你有一个巨大的数据集,或者如果你正在动态生成随机数据增强,即如果你的训练集有(生成的)无限大小,它可能会很有用。如果您有时间检查整个训练数据集,我建议您跳过此参数。validation_steps 类似于steps_per_epoch,但在验证数据集而不是训练数据上。如果您有时间检查整个验证数据集,我建议您跳过此参数。validation_steps类似于steps_per_epoch,但在验证数据集上而不是在训练数据上。如果您有时间检查整个验证数据集,我建议您跳过此参数。在你的情况下设置:批量大小 = 200每纪元步数 = 300验证步骤 = 50
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python