在keras自定义损失中使用图层输出

Use layer output in keras custom loss

我正在Keras中开发一个自定义损失函数,我需要第一层输出。

如何找回?

def custom_loss(y_true, y_pred):
    cross = K.mean(K.binary_crossentropy(y_true, y_pred), axis = 1)
    layer_output = model.get_layer_output(1) # this is what i'd like to use
    return cross  + perturb

勾选 docs 可以使用 model.get_layer() 方法检索图层。然后您可以传递所需的索引或传递层的名称。

获取图层后,您可以使用 layer.output 属性轻松获取其输出,如文档中 here 所述。

结合两者,您可以获得所需层的输出。