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 中的循环神经网络模块