如何在张量流中设置MAPE成本函数

时间:2017-11-03 14:15:47

标签: tensorflow

我试图在张量流中实现MAPE(平均绝对百分比误差)。我从RNN获取输出。

这是我的代码:

loss = tf.reduce_mean(tf.abs(tf.divide(tf.subtract(outputs,y),y)))

但是在运行会话时我将MAPE作为NaN。我做错了什么?

2 个答案:

答案 0 :(得分:2)

我强烈怀疑你得到NaN,因为y为零。为了解决这个问题,你可以给y分母添加一个非常小的epsilon值,以确保它永远不为零,但要小到不要扭曲你的计算:

loss = tf.reduce_mean(tf.abs(tf.divide(tf.subtract(outputs,y),(y + 1e-10))))

答案 1 :(得分:0)

你得到nan,因为y包含零值。因此,输出inf是不可能产生分裂的张量流。