Я бы хотел реализовать пользовательскую функцию потерь (в частности, для этого ) для обучения NN в Tensorflow, в котором NN имеет два выхода, а функция потерь - это формула, включающая как выходы, так иожидаемый результат.Как я могу индивидуально обратиться к этим? Примеры из tenorflow это выглядит, например, следующим образом:
def mean_absolute_percentage_error(y_true, y_pred):
y_pred = ops.convert_to_tensor(y_pred)
y_true = math_ops.cast(y_true, y_pred.dtype)
diff = math_ops.abs(
(y_true - y_pred) / K.clip(math_ops.abs(y_true), K.epsilon(), None))
return 100. * K.mean(diff, axis=-1)
Какие именно тензоры передаются здесь как y_true - какую форму они имеют?Я не смог найти никакой документации об этом.Все примеры, которые я видел для пользовательских потерь, просто рассчитывают все результаты одновременно, тогда как мне нужно выбрать отдельные результаты.
Обратите внимание: я не могу определить сеть на два выхода и определить отдельные потери для каждого выхода, так как документация Model.compile позволяет / как это делается здесь , поскольку функция потерь является функцией всех трех значений.