来源:https://blog.csdn.net/york1996/article/details/81876886

permute(dims)

将tensor的维度换位。

参数:参数是一系列的整数,代表原来张量的维度。比如三维就有0,1,2这些dimension。

例:

import torch
import numpy as np

a=np.array([[[1,2,3],[4,5,6]]])

unpermuted=torch.tensor(a)
print(unpermuted.size()) # ——> torch.Size([1, 2, 3])

permuted=unpermuted.permute(2,0,1)
print(permuted.size()) # ——> torch.Size([3, 1, 2])

再比如图片img的size比如是(28,28,3)就可以利用img.permute(2,0,1)得到一个size为(3,28,28)的tensor。

利用这个函数permute(0,2,1)可以把Tensor([[[1,2,3],[4,5,6]]]) 转换成

tensor([[[1., 4.],
[2., 5.],
[3., 6.]]])

如果使用view,可以得到

tensor([[[1., 2.],
[3., 4.],
[5., 6.]]])

注意,上面例子中使用view是直接在原tensor上操作的,而不是在permute之后的结果上

相关文章:

  • 2021-07-25
  • 2021-08-13
  • 2022-12-23
  • 2021-08-04
  • 2021-05-16
  • 2022-03-09
  • 2022-12-23
猜你喜欢
  • 2021-12-15
  • 2021-07-30
  • 2022-12-23
  • 2021-05-21
  • 2021-11-23
  • 2022-01-21
  • 2022-01-19
相关资源
相似解决方案