.permute()
置换的意思,维度交换位置
import torch
x = torch.linspace(1, 30, steps=30).view(3,2,5) # 设置一个三维数组
print(x)
a = x.permute(0,1,2) # 不改变维度
print(a)
b = x.permute(0,2,1) # 每一块的行与列进行交换,即每一块做转置行为
print(b)
###运行结果###
tensor([[[ 1., 2., 3., 4., 5.],
[ 6., 7., 8., 9., 10.]],
[[11., 12., 13., 14., 15.],
[16., 17., 18., 19., 20.]],
[[21., 22., 23., 24., 25.],
[26., 27., 28., 29., 30.]]])
tensor([[[ 1., 2., 3., 4., 5.],
[ 6., 7., 8., 9., 10.]],
[[11., 12., 13., 14., 15.],
[16., 17., 18., 19., 20.]],
[[21., 22., 23., 24., 25.],
[26., 27., 28., 29., 30.]]])
tensor([[[ 1., 6.],
[ 2., 7.],
[ 3., 8.],
[ 4., 9.],
[ 5., 10.]],
[[11., 16.],
[12., 17.],
[13., 18.],
[14., 19.],
[15., 20.]],
[[21., 26.],
[22., 27.],
[23., 28.],
[24., 29.],
[25., 30.]]])