首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在tensorflow中,如何从向量构造成对差的平方?

在tensorflow中,如何从向量构造成对差的平方?
EN

Stack Overflow用户
提问于 2018-06-25 02:24:15
回答 1查看 980关注 0票数 3

我在TensorFlow中有一个N维的一维向量,

如何构造成对平方差的和?

示例

输入向量

[1,2,3]

输出 6

计算为

代码语言:javascript
复制
(1-2)^2+(1-3)^2+(2-3)^2.

如果输入为N-dim向量l,则输出应为sigma_{i,j}((L)^2).

添加了问题:如果我有一个2d矩阵,并且希望对矩阵的每一行执行相同的处理,然后对所有行的结果进行平均,我如何才能做到呢?非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-25 05:42:21

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

代码语言:javascript
复制
pair_diff = tf.matrix_band_part(a[...,None] - 
                      tf.transpose(a[...,None]), 0, -1)

然后你就可以把这些差异平方和起来。

代码:

代码语言:javascript
复制
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
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51015563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档