用Keras构建模型evaluate时候,输出loss和进度条最终的loss不一样?

来源:2-10 实战批归一化、激活函数、dropout

捡海星的小男孩

2019-09-25

如题,请问是什么原因?

写回答

1回答

正十七

2019-09-25

我理解的是,在进度条上,训练集的loss就是每个batch的loss,所以如果后面你在全部训练集上求结果,那么就是不一样的。你可以试试在fit的时候加个测试集,测试集会一次全测完,所以evaluate也是一样的。

我们后面有自定义的训练流程,大概的伪代码就是:

for loop:
    train_x_batch, train_y_batch = get_data
    loss, accuracy = model(train_x_batch, train_y_batch)
    print(loss, accuracy)
    if end:
        val_loss, val_accuracy = model(full_eval_set)
        print(val_loss, val_accuracy)


1
0

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

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

1849 学习 · 896 问题

查看课程