日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

PyTorch中permute的基本用法示例_python

作者:York1996 ? 更新時間: 2022-06-24 編程語言

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的用法:參見PyTorch中view的用法?

附:permute(多維數組,[維數的組合])

比如:

a=rand(2,3,4); ?%這是一個三維數組,各維的長度分別為:2,3,4

%現在交換第一維和第二維:

permute(A,[2,1,3]) ?%變成3*2*4的矩陣

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])
 
tensor([[[1., 4.],
        [2., 5.],
        [3., 6.]]])
 
permuted=unpermuted.permute(2,0,1)
print(permuted.size())     #  ——>  torch.Size([3, 1, 2])
 
tensor([[[1., 2.],
         [3., 4.],
         [5., 6.]]])

總結

原文鏈接:https://blog.csdn.net/york1996/article/details/81876886

欄目分類
最近更新