【发布时间】:2018-12-26 00:13:32
【问题描述】:
我正在尝试计算 (tp+tn)/total_samples 作为我的自定义损失函数。我知道如何在列表和列表理解中执行此操作,但我想我无法将 y_true 和 y_pred 转换为列表。
目前我写的代码是:
def CustomLossFunction(y_true, y_pred):
y_true_mask_less_zero = K.less(y_true, 0)
y_true_mask_greater_zero = K.greater(y_true, 0)
y_pred_mask_less_zero = K.less(y_pred, 0)
y_pred_mask_greater_zero = K.greater(y_pred, 0)
t_zeros = K.equal(y_pred_mask_less_zero, y_true_mask_less_zero)
t_ones = K.equal(y_pred_mask_greater_zero, y_true_mask_greater_zero)
现在我需要将 t_zeros 和 t_ones 中的 TRUES 总数相加,然后将它们相加并除以总样本
我在这一行遇到错误:
sum_of_true_negatives = K.sum(t_zeros)
传递给参数“输入”的值的 DataType bool 不在允许值列表中:float32、float64、int32、uint8、int16
问题:
- “(tp+tn)/total_samples”有没有内置的损失函数
- 如果不是,那么如何使用 Keras 后端进行计算?
【问题讨论】:
标签: python keras loss-function