参考 Pytorch之permute函数 - 云+社区 - 腾讯云
1、主要作用:变换tensor维度
example:
import torch
x = torch.randn(2, 3, 5)
print(x.size())
print(x.permute(2, 0, 1).size())
>>>torch.Size([2, 3, 5])
>>>torch.Size([5, 2, 3])
2、介绍一下transpose与permute的异同:
同:都是对tensor维度进行转置;
异:permute函数可以对任意高维矩阵进行转置,但没有torch.permute()这个调用方式
torch.randn(2,3,4,5).permute(3,2,0,1).shape
>>>torch.Size([5, 4, 2, 3])
transpose只能操作2D矩阵的转置,无法操作超过2个维度,所以要想实现多个维度的转置,既可以用一次性的
permute,也可以多次使用transpose;
torch.randn(2,3,4,5).transpose