Python 如何对(1,7,7,1024)的形状使用np.transpose()
Python 如何对(1,7,7,1024)的形状使用np.transpose(),python,numpy,Python,Numpy,a=np.one((1,7,7,1024)) 我想将形状更改为(1,1024,7,7) 我在Numpy网站上看到了教程,我认为需要分别设置位置。 所以我使用了下面的代码 shape=np.转置(a,(0,2,3,1)) 打印形状时: 形状将为: (1,7,1024,7) 我想不出原因是什么 谢谢你的帮助。正确答案是: shape_ = np.transpose(a, (0, 3, 2, 1)) 打印输出时,它提供以下信息: (1, 1024, 7, 7) 0是第一个轴,1是第二个轴,2是第三
a=np.one((1,7,7,1024))
我想将形状更改为(1,1024,7,7)
我在Numpy网站上看到了教程,我认为需要分别设置位置。
所以我使用了下面的代码
shape=np.转置(a,(0,2,3,1))
打印形状时:
形状将为:
(1,7,1024,7)
我想不出原因是什么
谢谢你的帮助。正确答案是:
shape_ = np.transpose(a, (0, 3, 2, 1))
打印输出时,它提供以下信息:
(1, 1024, 7, 7)
0是第一个轴,1是第二个轴,2是第三个轴,依此类推,这取决于轴的数量,所以您可以随意排列它们。使用
0,3,1,2
,轴0保持不变,轴3是下一个轴,轴1和轴2刚刚移动过来(如果您愿意,可以切换)。谢谢,但我仍然不明白为什么我不能使用(0,2,3,1),如果(1,7,7,1024)=(0,1,2,3),那么1024=3。那么如果你想的话,你会把3放在哪里(1,1024,7,7)?这就是所有的组合:(3,1,2,0)给出(1024,7,7,1),(0,3,2,1)给出(1,1024,7,7),(0,1,3,2)给出(1,7,1024,7),(0,1,2,3)给出(1,7,7,1024)。你可能想解释一下为什么你认为你所做的应该得到期望的结果?我明白了!谢谢!