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

Posted 魏晓蕾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch中的torch.Tensor.permute()和torch.Tensor.transpose()的区别相关的知识,希望对你有一定的参考价值。

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()可以一次转换好几个维度。

以上是关于PyTorch中的torch.Tensor.permute()和torch.Tensor.transpose()的区别的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch Note37 PyTorch 中的循环神经网络模块

Pytorch中的Conv1d()函数

pytorch中的数据加载(dataset基类,以及pytorch自带数据集)

pytorch torch类

Pytorch 中的 dim

PyTorch从入门到精通100讲-神经网络在pytorch中的应用