【问题标题】:Keras: how to record validation lossKeras:如何记录验证损失
【发布时间】:2017-01-10 00:52:14
【问题描述】:

注意:这是duplicate question,但我不是在寻找答案。相反,如何更好地自己找到答案。

如何记录模型中跨时期的损失、训练准确度、测试损失和测试准确度?我想绘制一个图表,显示每个时期的验证损失。

我知道 callback 对象,可以在 fit() 中调用,或者 model.history 可能与它有关,但检查源代码和文档字符串对我来说只是一堵代码墙。例如,Numpy 通常提供一个非常小的用例作为非常简单的实现示例。但我知道这个问题的答案只是一条线,因为这实际上只是一个输入问题。

【问题讨论】:

    标签: python keras


    【解决方案1】:

    如文档https://keras.io/models/sequential/#fit 中所述,当您调用model.fit 时,它会返回一个callbacks.History 对象。您可以从中获取损失和其他指标:

    ...
    train_history = model.fit(X_train, Y_train,
                        batch_size=batch_size, nb_epoch=nb_epoch,
                        verbose=1, validation_data=(X_test, Y_test))
    loss = train_history.history['loss']
    val_loss = train_history.history['val_loss']
    plt.plot(loss)
    plt.plot(val_loss)
    plt.legend(['loss', 'val_loss'])
    plt.show()
    

    【讨论】:

    • docsFAQ中有提到
    • 但是,没有关于如何执行“实时”绘图的提示,而且,公平地说,按预定义数量的 epoch 停止并不是很多人想要的,或者?
    猜你喜欢
    • 2018-07-08
    • 2019-04-02
    • 1970-01-01
    • 2018-09-29
    • 2020-05-21
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多