【发布时间】:2021-11-24 03:22:56
【问题描述】:
假设我有一个形状为 (2, 2, 2) 的数组 a:
a = np.array([[[7, 9],
[19, 18]],
[[24, 5],
[18, 11]]])
还有一个数组b,它是a 的最大值:b=a.max(-1)(逐行):
b = np.array([[9, 19],
[24, 18]])
我想使用扁平化a 中的索引获取b 中元素的索引,即a.reshape(-1):
array([ 7, 9, 19, 18, 24, 5, 18, 11])
结果应该是一个与b 形状相同的数组,其索引为b 在扁平a 中:
array([[1, 2],
[4, 6]])
基本上这是在pytorch中return_indices = True时maxpool2d的结果,但我正在寻找numpy中的实现。我使用过where,但它似乎不起作用,是否可以一次将查找最大值和索引结合起来,以提高效率?感谢您的帮助!
【问题讨论】: