假设我有一个形状为(2, 2, 2)的数组a:
结果应该是一个数组,该数组与展平后的
a = np.array([[[7, 9],
[19, 18]],
[[24, 5],
[18, 11]]])
有一个数组a
,和一个指定轴为-1的max函数b=a.max(-1)
(按行计算)。
b = np.array([[9, 19],
[24, 18]])
我想使用a.reshape(-1)
将a
展开后,利用对应的索引获取b
中元素的索引。
array([ 7, 9, 19, 18, 24, 5, 18, 11])
结果应该是一个数组,该数组与展平后的
a
中的索引相同,这些索引对应于 b
数组中的元素所在的位置。array([[1, 2],
[4, 6]])
这基本上是使用pytorch中return_indices=True时maxpool2d的结果,但我正在寻找numpy中的实现。我已经使用了where
, 但似乎不起作用, 是否有可能在一次操作中同时找到最大值和索引以提高效率?感谢任何帮助!
18
在a
中重复出现了两次,应该返回哪个索引?最后一次出现的18
的索引? - Omar AlSuwaidi