我有一个5D矩阵,B x C x D x H x W
,其中D是深度,H是高度,W是宽度。例如,矩阵的大小为16 x 3 x 256 x 128 x 64
,我想随机地改组最后三个维度(D,H,W
)以获得新的矩阵。如何在python中完成?输出矩阵喜欢
16 x 3 x 256 x 128 x 64
16 x 3 x 64x 128 x 256
16 x 3 x 256 x 64x 128
16 x 3 x 128x 64x 256
...
答案 0 :(得分:1)
This will transpose your last three axes, assuming you have 5 axes.
new_ix = list(np.random.permutation([2, 3, 4]))
np.transpose(x, [0, 1] + new_ix)