我正在尝试使用Python中的TensorFlow / Keras构建自定义损失函数。
Y_true和y_pred具有以下形式:
>>> y_true
[[[0 0 0 1], [ 0 0 1 0], [0 1 0 0]], [[0 0 1 0], [0 1 0 0], [0 1 0 0]]]
>>> y_pred
[[[0 0 0 0], [ 0 0 1 0], [0 0 1 0]], [[0 0 1 0], [0 0 1 0], [1 0 0 0]]]
def loss_iou(y_true, y_pred):
union = np.where((y_true + y_pred) >= 1, 1, 0).sum()
inter = (y_true * y_pred).sum()
loss = 1 - inter / union
return loss
是否存在一个可重现np.where()
的TensorFlow函数,或者直接计算零和一之间的逻辑或(例如1 | 1 = 1和1 | 0 = 1)的函数,所以我可以避免使用{完全{1}}?
也许甚至还有内置的损失功能也可以管理这种情况?