我试图在张量流中实现MAPE(平均绝对百分比误差)。我从RNN获取输出。
这是我的代码:
loss = tf.reduce_mean(tf.abs(tf.divide(tf.subtract(outputs,y),y)))
但是在运行会话时我将MAPE作为NaN。我做错了什么?
答案 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是不可能产生分裂的张量流。