如何在numpy中定义这样的4-d数组转置

时间:2016-11-01 16:25:37

标签: arrays numpy convolution

假设我们有一个四维形状矩阵(A,B,C,D),f。我们想要进行这样的转置,其中f_transpose(i,j,k,c)= f(A-i + 1,B-j + 1,c,k)。这与convnet的反向传播有关,应用conv运算符来获得conv层的梯度。谁能帮我吗?

1 个答案:

答案 0 :(得分:2)

您想要反转前两个轴并切换最后两个轴。可以使用::-1切片完成轴的反转,切换轴为numpy.swapaxes

g = numpy.swapaxes(f, 2, 3)[::-1, ::-1]