numpy transpose和pytorch transpose, permute

numpy transpose和pytorch transpose, permute

  1. numpy transpose功能为重新排列维度,参数为初始维度所在的最终维度,一定要写满所有的维度,和pytorch的permute类似;
  2. pytorch的permute和numpy的transpose功能和用法一样,transpose功能为交换两个维度,多次使用可以达到permute的效果,需要两个参数,为需要交换的维度,因此参数顺序不重要;
import torch
import numpy as np

# numpy transpose
x = np.random.rand(2,3,4)
print(x.transpose(2,0,1).shape) # [4,2,3]


# pytorch transpose permute
y = torch.randn(2,3,4)  # [2,3,4]

# 对于transpose
y.transpose(0,1)    # [3,2,4]
# y.transpose(0,2,1)  # 报错,操作不了多维

# 对于permute
y.permute(1,0,2)  # [3,2,4],必须写满所有的维度才不报错
# y.permute(0,1)    # 报错,number of dims don't match in permute"

你可能感兴趣的:(python,python,numpy,pytorch,深度学习)