torch:transpose()和permute()和view()的联系与区别

torch.transpose()和torch.permute()
两者作用相似,都是用于交换不同维度的内容。但其中torch.transpose()是交换指定的两个维度的内容,permute()则可以一次性交换多个维度。具体情况如code所示:
transpose(): 两个维度的交换

EX:torch.size([3,4,6])

torch.transpose(1,2)

则变成torch.size([3,6,4])

permute():一次性做任意维度的交换,三个变量的赋值分别问0,1,2 .

EX:torch.size([3,4,6])//这里对应的permute(0,1,2)

torch.permute(1,0,2)

则变成torch.size([6,3,4])

view():前两者是直接进行转置,而view是将数据一个一个按照你设定的方式填入

EX:torch.size([2,3,5])

torch.view(2,5,3)

则变成torch.size([2,5,3])

你可能感兴趣的:(学习,pytorch,python,nlp)