Pytorch中的.transpose(1, 2)

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。