【问题标题】:Calculate the loss of discriminator in keras计算keras中判别器的损失
【发布时间】:2018-09-10 21:32:01
【问题描述】:

我想在不更新网络权重的情况下计算 keras 中鉴别器的损失误差。到目前为止,我正在使用以下函数(train_on_batch)使用梯度下降来更新网络的权重:

d_loss = d.train_on_batch(X, y)

但是,我要做的是首先计算 d_loss,然后根据 d_loss 值更新权重。我如何在 Keras 中这样做?

【问题讨论】:

    标签: python neural-network keras


    【解决方案1】:
    d.evaluate(x, y)
    

    将返回模型中定义的所有损失和指标。 请参阅documentation

    d.test_on_batch(x, y)
    

    也可能感兴趣。

    【讨论】:

    • 你确定他们返回了同样的东西吗?我有 d.train_on_batch 然后 d.test_on_batch 结果不同。
    • 显然,评估功能是我所需要的。非常感谢您的快速回复!
    • 阅读文档。如果你有一个损失,test_on_batch 和 train_on_batch 都应该返回一个标量值(显然它在数值上会有所不同,因为一个是训练前,另一个是训练后)
    • 训练功能是更新您的权重的功能。另一种方法是存储模型检查点并在满足条件时使用自定义回调重新加载它们keras.io/callbacks
    • 我会试着看看。在这里我找到了模式崩溃的建议解决方案:reddit.com/r/MachineLearning/comments/5asl74/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    相关资源
    最近更新 更多