在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
)会让我满意