torch.transpose(input, dim1, dim2) -> Tensor
将维度1和维度2调换位置。
注意:
1、transpose中的两个维度参数的顺序是可以交换位置的,即transpose(x,0,1)和transpose(x,1,0)的效果是相同的,都是将这两个维度交换位置。
2、.tranpose()中只有两个参数,而torch.transpose()函数中有三个参数。
若想同时交换几个维度的位置:
.permute()
permute中的参数是要进行维度交换的tensor中的维度索引,就是将第几维度放在第0,1,2,3,…维度上
a = torch.rand(1, 22, 56, 114)
a.permut(0, 2, 3, 1).shape
torch.Size([1, 56, 114, 22])
而transpose中只能有两个参数,表示哪两个维度进行交换:
a = torch.rand(1, 22, 56, 114)
a.transpose(2, 3).shape
torch.Size([1, 22, 114, 59])
版权声明:本文为cyclohexene原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。