记录丢失功能中的标量

时间:2018-01-29 22:54:11

标签: tensorflow machine-learning neural-network deep-learning keras

我正在研究在Keras实施的ML模型。对于这个模型,我写了一个自定义损失函数,其中损失是其他3个变量(a_cost, b_cost, c_cost)的性能总和。损失函数有效,但我想稍微调整一下,为此我想看看这3个其他变量的行为。如何记录这些标量以便它们可以在TensorBoard中显示?

def custom_cost(y_true, y_pred):
    # compute a_cost, b_cost, c_cost

    cost = a_cost + b_cost + c_cost
    return cost

# ..build model...
model.compile(loss=custom_cost, optimizer=optimizers.Adam())
tensorboard = callbacks.TensorBoard(log_dir="./logs", write_graph=True)
tensorboard.set_model(model)
model.fit_generator(generator=custom_generator, epochs=100, steps_per_epoch=180,     callbacks=[tensorboard], verbose=True)

1 个答案:

答案 0 :(得分:1)

在计算b_costc_costdef a_cost(y_true, y_pred): # compute a_cost ... return a_cost def b_cost(y_true, y_pred): # compute b_cost ... return b_cost def c_cost(y_true, y_pred): # compute c_cost ... return c_cost 时,您可以定义三个单独的函数来分别计算它们。让:

metrics

现在这很简单,只需将这三个函数添加为model.compile(..., metrics=[a_cost, b_cost, c_cost])

nextTodoId