Пользовательская функция потерь: невозможно преобразовать символьный c тензор в массив numpy - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь создать собственную функцию потерь с помощью 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?

Может быть, есть даже встроенная функция потерь, которая также управляет этим сценарием?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...