【发布时间】:2021-06-30 17:51:58
【问题描述】:
我正在使用以下tensors / ndarrays。
a_intents 形状 (b, n_i) - 位置 ij 的标量是批处理中 i-th 元素的意图 j 的激活。
u_intents 的形状 (b, n_i, d_m) - 维度为 d_m 的向量在索引 ij 是意图 j 的姿势向量,用于批处理中的 i-th 元素。
我想获得最大激活标量的意图索引,我这样做了:
max_activations = argmax(a_intents, dim=-1, keepdim=False)
现在,使用这些索引,我想在u_intents 中获取相应的向量。
max_activation_poses = u_intents[?, ?,:]
如何使用max_activations 仅指示dim 1 上的那些索引?我的直觉告诉我,如果我这样做,我会以不正确的形状结束
[:, max_activations, :]
我想要得到的形状是(b, d_m) - 与highest activation 具有相同索引的向量,对于批处理中的每个元素。
谢谢
【问题讨论】:
-
看看
np.take_along_axis,它经常与返回索引的函数一起使用,比如argmax。
标签: python numpy pytorch slice numpy-slicing