gpt4 book ai didi

python - 如何从 tensorflow 中的向量构造成对差的平方?

转载 作者:行者123 更新时间:2023-11-28 22:17:49 30 4
gpt4 key购买 nike

我在 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)。

新增问题:如果我有一个二维矩阵,想对矩阵的每一行执行相同的处理,然后对所有行的结果进行平均,我该怎么做?非常感谢!

最佳答案

对于成对差异,减去 inputinput 的转置,只取上三角部分,如:

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

关于python - 如何从 tensorflow 中的向量构造成对差的平方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51015563/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com