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