【问题标题】:Custom loss function in Keras runs ony onceKeras 中的自定义损失函数只运行一次
【发布时间】:2018-10-27 08:44:03
【问题描述】:

我在 Keras 中定义了一个自定义的损失函数如下:

def loss_function_test(yTrue, yPred):
    global i
    i += 1
    print("\n")
    print("Loss Function:", i, " ----- ", yTrue, yPred)
    print("\n")
    res = k.sum(yTrue - yPred)
    return res

并设置如下:

model.compile(loss=loss_function_test,
              optimizer='sgd',
              metrics=['accuracy'])

问题是检查损失函数代码中的global iprint 函数,我意识到当我调用model.fit 时,该函数在训练中只调用一次。即使我调试它,它也只被调用一次。似乎只有在compile 时才调用损失函数。谁能解释一下为什么?

【问题讨论】:

    标签: python keras loss-function


    【解决方案1】:

    构造损失函数op的函数只运行一次。

    如果您想查看 tensorflow 评估 op 的频率,您需要在 tensorflow 图中添加 tf.Print 操作。

    【讨论】:

      猜你喜欢
      • 2020-12-19
      • 2017-12-18
      • 2020-03-27
      • 1970-01-01
      • 2020-03-29
      • 2018-10-28
      • 2017-12-29
      • 2018-11-12
      • 2018-12-21
      相关资源
      最近更新 更多