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的某几个维度。
PyTorch维度变换(view,reshape,transpose,permute)

4、transpose方法

基于torch库或Tensor对象,作用是置换Tensor的某两个维度。
PyTorch维度变换(view,reshape,transpose,permute)

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])
上一篇:Python笔记:Numpy之数据转置


下一篇:Python实现BP神经网络实现对公路客运量