在深度学习的数据变换过程中,coding出现很多permute和transpose,:
import torch
image = torch.randn(3,32 ,512, 512)
image = image.permute(1,0,2,3)
print(image.shape)
image = torch.randn(3,32 ,512, 512)
image = image.transpose(0,1)
print(image.shape)
结果:
torch.Size([32, 3, 512, 512])
torch.Size([32, 3, 512, 512])
permute可以对任意高维矩阵进行转置操作。
transpose只能操作2D矩阵的转置,在多维矩阵可以进行二维的转置,连续使用transpose可实现permute多维的转置