Python 如何在Tensorflow中进行分组操作?

Python 如何在Tensorflow中进行分组操作?,python,tensorflow,Python,Tensorflow,我有一个数据点的张量点,其形状是(1,#数据,#维度),另一个是距离,其形状是(#簇,1,#维度),最后一个是簇,其形状是(#数据,#,表示点所属的簇的索引。现在我想计算每个簇的平均值。因此,预期的输出应该具有shape(#cluster,1,#dimension)。我做了类似于tf.gather(points,cluster)的事情,得到了一个输出,其形状为(#data,#data,#dimension)。现在我不知道该怎么处理。你能帮帮我吗 编辑: 例如,点是[[2,3],[1,4],[8,

我有一个数据点的
张量
,其形状是
(1,#数据,#维度)
,另一个是
距离
,其形状是
(#簇,1,#维度)
,最后一个是
,其形状是
(#数据,#
,表示
点所属的簇的索引。现在我想计算每个簇的平均值。因此,预期的输出应该具有shape
(#cluster,1,#dimension)
。我做了类似于
tf.gather(points,cluster)
的事情,得到了一个输出,其形状为
(#data,#data,#dimension)
。现在我不知道该怎么处理。你能帮帮我吗

编辑:


例如,
点是
[[2,3],[1,4],[8,10]
簇是
[1,0,2]
,预期输出应该是
[[0,0],[2,3],[0,0],[1,4],[0,0],[0,0],[0,0],[0,0],[8,10]]
因此计算平均值很方便。

尝试使用
tf.unsorted_segment_sum
对共享相同聚类值的点求和。