我在TensorFlow中有一个N维的一维向量,
如何构造成对平方差的和?
示例
输入向量
[1,2,3]
输出 6
计算为
(1-2)^2+(1-3)^2+(2-3)^2.如果输入为N-dim向量l,则输出应为sigma_{i,j}((L)^2).
添加了问题:如果我有一个2d矩阵,并且希望对矩阵的每一行执行相同的处理,然后对所有行的结果进行平均,我如何才能做到呢?非常感谢!
发布于 2018-06-25 05:42:21
对于成对差分,减去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))
# 6https://stackoverflow.com/questions/51015563
复制相似问题