在tensorflow中,如何使用与参数第一维度匹配的索引进行聚集?

在tensorflow中,如何使用与参数第一维度匹配的索引进行聚集?,tensorflow,Tensorflow,如果我有形状的索引(D_0,…,D_k)和形状的参数(D_0,…,D_k,i,F)(带0≤ 索引[i_0,…,i_k]

如果我有形状的
索引
(D_0,…,D_k)
和形状的
参数
(D_0,…,D_k,i,F)
(带
0≤ 索引[i_0,…,i_k]
),使用

output[i_0,...,i_k,f]=params[i_0,...,i_k,indices[i_0,...,i_k],f]
如果
k=0
,那么我们可以使用
gather
。所以,在过去,我有一个基于展平的解决方案。现在tensorflow已经成熟了,有更好的解决方案吗

大多数时候,当我需要这种类型的收集时,
索引是通过
index=tf.argmax(params[:,…,:,:,:,0])
获得的。对于每一个
(i_0,…,i_k)
,我都有
i
大小的向量
(F,)
,我只想为一个特征保留那些最大值的向量。一个只适用于这种特殊情况的解决方案(一种只使用一个特性来决定如何减少的
reduce_max
)会让我满意