请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

e关于Train和eval的epoch为什么不同

train_dataset的epoch=100,也就是repeat了100次,计算了100次的loss,为什么eval_dataset的epoch=1,最后也计算了了100次的loss呢?

train_dataset = make_dataset(train_df, y_train, epochs = 100)
eval_dataset = make_dataset(eval_df, y_eval, epochs = 1, shuffle = False)
history = model.fit(train_dataset,
                    validation_data = eval_dataset,
                    steps_per_epoch = 19,
                    validation_steps = 8,
                    epochs = 100)
Epoch 100/100
19/19 [==============================] - 0s 6ms/step - loss: 0.4574 - accuracy: 0.8076 - val_loss: 0.4831 - val_accuracy: 0.7617

正在回答

1回答

因为对于eval_dataset,逻辑是在每次训练的epoch结尾时,进行一次eval,此时eval需要遍历数据集一遍,也就是epoch=1的概念。然后在每个epoch结束的时候,eval_dataset会被重置,所以下次又可以使用了。

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕勒7004644 #1
    明白啦,太谢谢老师的解答啦,喜欢您的课程!
    回复 有任何疑惑可以回复我~ 2021-01-07 21:18:10
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号