Tensorflow tf.loss.absolute_difference()如何工作?
我正在处理一些简单的向量,我想用它们做一些数学运算。我想计算向量元素之间的差值之和 例如:Tensorflow tf.loss.absolute_difference()如何工作?,tensorflow,Tensorflow,我正在处理一些简单的向量,我想用它们做一些数学运算。我想计算向量元素之间的差值之和 例如: a = [1,2,3] b = [4,5,6] 评估结果为: abs(a[0] - b[0]) + abs(a[1] - b[1]) + abs(a[2] - b[2]) = 3 + 3 + 3 = 9 当我在寻找一种使用Tensorflow的方法时,我发现了tf.loss.absolute_difference()函数。然而,当我开始用它做实验时,我得到了我不太理解的结果 d = [1,1] e =
a = [1,2,3]
b = [4,5,6]
评估结果为:
abs(a[0] - b[0]) + abs(a[1] - b[1]) + abs(a[2] - b[2]) = 3 + 3 + 3 = 9
当我在寻找一种使用Tensorflow的方法时,我发现了tf.loss.absolute_difference()函数。然而,当我开始用它做实验时,我得到了我不太理解的结果
d = [1,1]
e = [2,3]
with tf.Session() as sess:
sess.run(init)
t = tf.losses.absolute_difference(e, d)
print(t.eval())
这里t的值为1.5。我原以为会有三个
d = [1,1]
e = [2,2]
这里t的计算结果为1.0。我本以为会有两个
tf.Loss.absolute_difference()在这里实际计算的是什么函数?来自,tf.Loss.absolute_difference
计算其输入的加权绝对差-默认情况下,weights=1.0#broadcasted
(计算平均差):
绝对差值(a,b)=权重。*abs(a-b)/和(权重)#。*=点积
=[1,1].*abs([2,3]-[1,1])/(1+1)#为了简单起见列出
=[1,1].*abs([1,2])/2
= (1 + 2) / 2
= 1.5