如何从张量流中的向量构造成对差的平方?
How to construct square of pairwise difference from a vector in tensorflow?
我在 TensorFlow 中有一个具有 N 维的一维向量,
如何构造成对平方差的总和?
例子
输入向量
[1,2,3]
输出
6
计算为
(1-2)^2+(1-3)^2+(2-3)^2.
如果我将输入作为 N 维向量 l,则输出应为 sigma_{i,j}((l_i-l_j)^2).
新增问题:如果我有一个二维矩阵,想对矩阵的每一行执行相同的处理,然后对所有行的结果进行平均,如何才能我做吗?非常感谢!
对于成对差异,减去input
和input
的转置,只取上三角部分,如:
pair_diff = tf.matrix_band_part(a[...,None] -
tf.transpose(a[...,None]), 0, -1)
然后你可以对差求平方和。
代码:
a = tf.constant([1,2,3])
pair_diff = tf.matrix_band_part(a[...,None] -
tf.transpose(a[...,None]), 0, -1)
output = tf.reduce_sum(tf.square(pair_diff))
with tf.Session() as sess:
print(sess.run(output))
# 6
我在 TensorFlow 中有一个具有 N 维的一维向量,
如何构造成对平方差的总和?
例子
输入向量
[1,2,3]
输出
6
计算为
(1-2)^2+(1-3)^2+(2-3)^2.
如果我将输入作为 N 维向量 l,则输出应为 sigma_{i,j}((l_i-l_j)^2).
新增问题:如果我有一个二维矩阵,想对矩阵的每一行执行相同的处理,然后对所有行的结果进行平均,如何才能我做吗?非常感谢!
对于成对差异,减去input
和input
的转置,只取上三角部分,如:
pair_diff = tf.matrix_band_part(a[...,None] -
tf.transpose(a[...,None]), 0, -1)
然后你可以对差求平方和。
代码:
a = tf.constant([1,2,3])
pair_diff = tf.matrix_band_part(a[...,None] -
tf.transpose(a[...,None]), 0, -1)
output = tf.reduce_sum(tf.square(pair_diff))
with tf.Session() as sess:
print(sess.run(output))
# 6