Я пытаюсь реализовать пользовательскую функцию потерь в Керасе этого вида:
Это код, который я использовал для ее реализации:
def custom_loss_function(y_true, y_pred):
a = y_pred[..., 0]
b = y_pred[..., 1]
def f(y, x):
return ((y_true-x)**2) * ( (b/(a)**b) * (x**(b-1)) * K.exp(-(x/a)**b) )
x = K.constant([ 0., 5000. ])
return K.mean(tf.contrib.integrate.odeint_fixed( f, 0., x, method = "rk4" ))
Я пытался использовать tf.contrib.integrate.odeint_fixed вне функции потерь, и на самом деле это работает.Однако после использования внутри функции потери он перестает работать.
Заранее благодарим за любые предложения.