块状多维换位未给出预期结果

时间:2018-08-09 14:31:48

标签: numpy matrix numpy-ndarray

我有一个尺寸为(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)... < / p>

这是怎么回事?

1 个答案:

答案 0 :(得分:3)

尺寸:

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))