2017-02-21 159 views
2

我想在keras中定義我自己的損失函數,它是均方根百分比誤差。 RMSPE被定義爲:
equation
我已經將我的損失函數定義爲:
from keras import backend as K def rmspe(y_true, y_pred): sum = K.sqrt(K.mean(K.square((y_true - y_pred)/ K.clip(K.abs(y_true),K.epsilon(),None)), axis=-1)) return sum*100.
但是經過幾次迭代後,它給我的損失值爲nan。有人能指出我做錯了什麼。謝謝keras中的自定義RMSPE丟失函數

+0

你使用哪個後端? –

+0

我正在使用張量流 –

+0

您是否檢查過您的數據是否包含「Nan」? –

回答

0

當你的分母爲0時,那將是楠。請考慮在分母上加上一個小數字,例如0.0000001。

+0

K.clip已經在做這件事。你可以檢查剪輯。 –