在Keras模型中,我创建了一个自定义损失,其中输出的某些部分使用MSE,某些部分使用二进制交叉熵。
def loss(y_true, y_pred):
y_true = tensorflow.convert_to_tensor(y_true)
y_pred = tensorflow.convert_to_tensor(y_pred)
numerical_data_loss = mean_squared_error(y_true[:, 0], y_pred[:, 0])
binary_data_loss = binary_crossentropy(y_true[:, 1], y_pred[:, 1])
loss = numerical_data_loss + binary_data_loss
return loss
我如何独立监控影响我的自定义损失的因素,即一个指标用于MSE,一个指标用于二元交叉熵?
1条答案
按热度按时间cidc1ykv1#
再Google一下:
model.fit
的metrics
kwarg可以接受一系列自定义损失函数,这些函数的签名与您已经为实际损失编写的函数的签名相同。您可以将损失函数分解为单独的单个损失函数,并将它们传递给度量,以观察每个损失对最终损失的贡献,并在最终损失函数中将它们相加以进行反向传播。