From 5923b72a8ab8fe56b31d1e876cec1dad8112ee94 Mon Sep 17 00:00:00 2001 From: lukas leufen <l.leufen@fz-juelich.de> Date: Fri, 24 Apr 2020 10:39:49 +0200 Subject: [PATCH] moved loss and updated docstrings --- src/model_modules/loss.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/model_modules/loss.py diff --git a/src/model_modules/loss.py b/src/model_modules/loss.py new file mode 100644 index 00000000..bcb85282 --- /dev/null +++ b/src/model_modules/loss.py @@ -0,0 +1,22 @@ +"""Collection of different customised loss functions.""" + +from keras import backend as K + +from typing import Callable + + +def l_p_loss(power: int) -> Callable: + """ + Calculate the L<p> loss for given power p. + + L1 (p=1) is equal to mean absolute error (MAE), L2 (p=2) is to mean squared error (MSE), ... + + :param power: set the power of the error calculus + + :return: loss for given power + """ + + def loss(y_true, y_pred): + return K.mean(K.pow(K.abs(y_pred - y_true), power), axis=-1) + + return loss -- GitLab