自定义损失函数:无法将符号张量转换为numpy数组

时间:2020-02-18 15:59:03

标签: python tensorflow keras

我正在尝试使用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}}?

也许甚至还有内置的损失功能也可以管理这种情况?

0 个答案:

没有答案