其他分享
首页 > 其他分享> > PyTorch维度变换(view,reshape,transpose,permute)

PyTorch维度变换(view,reshape,transpose,permute)

作者:互联网

import torch

文章目录

1、reshape方法

用法与NumPy的一模一样,既可以从torch这个库调用,torch.reshape(input, shape),也可以在Tensor对象上调用torch.Tensor.reshape(shape)

2、view方法

reshape方法相比有较大的局限性,原因在于

  1. 只能在Tensor对象上调用
  2. Tensor对象必须是contiguous的,故常与contiguous方法连用:torch.Tensor.contiguous().view(size),效果等价于torch.Tensor.reshape(shape)

所以,用view方法还不如直接用reshape方便

3、permute方法

permute方法是基于Tensor对象的,作用是置换Tensor的某几个维度。
在这里插入图片描述

4、transpose方法

基于torch库或Tensor对象,作用是置换Tensor的某两个维度。
在这里插入图片描述

5、T属性

返回原张量的转置,其对应的shape逆序。

>>>a = torch.randn(2,3,4,5)
>>>a.size()
torch.Size([2, 3, 4, 5])
>>>a.T.size()
torch.Size([5, 4, 3, 2])

标签:Tensor,reshape,torch,transpose,shape,PyTorch,方法,view
来源: https://blog.csdn.net/jasminefeng/article/details/113827268