Я пытаюсь создать собственную функцию потерь с помощью TensorFlow / Keras в Python.
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
Is есть функция TensorFlow, которая воспроизводит np.where()
или функцию, которая напрямую вычисляет логическое ИЛИ между нулями и единицами (например, 1 | 1 = 1 и 1 | 0 = 1), чтобы я мог вообще избежать использования where
?
Может быть, есть даже встроенная функция потерь, которая также управляет этим сценарием?