Numpy 多维转置未给出预期结果
Numpy multidimensional transpose not giving expected result
我有一个维度为 (2, 3, 4, 5) 的数组。
当我执行 np.transpose(a, (0, 3, 2, 1))
时,我得到了形状为 (2, 5, 4, 3) 的预期结果。
但是当我做 np.transpose(a, (0, 3, 1, 2))
时,我希望得到形状为 (2, 4, 5, 3) 的结果,但我得到的结果却是 (2, 5, 3, 4).. .
这是怎么回事?
尺寸:
0:2
1:3
2:4
3:5
首先转置 (0,3,2,1) -> dims=[2,5,4,3]
第二次转置 (0,3,1,2) -> dims=[2,5,3,4]
发生的事情是 numpy 正在做它的工作,你只是喂错了形状,你想要的是 np.transpose(a, (0, 2, 3, 1))
我有一个维度为 (2, 3, 4, 5) 的数组。
当我执行 np.transpose(a, (0, 3, 2, 1))
时,我得到了形状为 (2, 5, 4, 3) 的预期结果。
但是当我做 np.transpose(a, (0, 3, 1, 2))
时,我希望得到形状为 (2, 4, 5, 3) 的结果,但我得到的结果却是 (2, 5, 3, 4).. .
这是怎么回事?
尺寸:
0:2
1:3
2:4
3:5
首先转置 (0,3,2,1) -> dims=[2,5,4,3]
第二次转置 (0,3,1,2) -> dims=[2,5,3,4]
发生的事情是 numpy 正在做它的工作,你只是喂错了形状,你想要的是 np.transpose(a, (0, 2, 3, 1))