zl程序教程

您现在的位置是:首页 >  Python

当前栏目

PyTorch中的torch.Tensor.permute()和torch.Tensor.transpose()的区别

2023-04-18 14:06:03 时间

1、torch.Tensor.permute(dim0, dim1, dim2, …)

等价于 torch.permute(input, (dim0, dim1, dim2, …))方法,permute()可以对任意高维矩阵进行转置。

传入permute()方法的参数是维度, 未进行变换前的dim是[0, 1, 2]的方式, 转换后表示将第0维度和第2维度调换。

2、torch.Tensor.transpose(dim0, dim1)

等价于 torch.transpose(input, dim0, dim1)方法,transpose()只能操作2D矩阵的转置(就是每次transpose()只能在两个维度之间转换,其他维度保持不变),连续使用transpose()也可实现permute()的效果。

3、transpose()和permute()的区别

transpose()只能在两个维度之间转换, permute()可以一次转换好几个维度。