a = torch.tensor([[[1,2,3],[4,5,6]]])
b = a.view(3,2)
c = a.permute(0,2,1)
print(a.size(),a)
print(b.size(),b)
print(c.size(),c)
结果:
a: torch.Size([1, 2, 3])
tensor([[[1, 2, 3],
[4, 5, 6]]])
b: torch.Size([3, 2])
tensor([[1, 2],
[3, 4],
[5, 6]])
c: torch.Size([1, 3, 2])
tensor([[[1, 4],
[2, 5],
[3, 6]]])
view 相当于将原来的张量展开成一位的数据 [1,2,3,4,5,6],然后再进行变形
permute 是更灵活的transpose,可以灵活的对原数据的维度进行调换,而数据本身不变。