PyTorch中permute的基本用法示例
permute(dims)
將tensor的維度換位。
參數(shù):參數(shù)是一系列的整數(shù),代表原來張量的維度。比如三維就有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。
利用這個函數(shù)permute(0,2,1)可以把Tensor([[[1,2,3],[4,5,6]]]) 轉(zhuǎn)換成
tensor([[[1., 4.],
[2., 5.],
[3., 6.]]])如果使用view,可以得到
tensor([[[1., 2.],
[3., 4.],
[5., 6.]]])關(guān)于view的用法:參見PyTorch中view的用法
附:permute(多維數(shù)組,[維數(shù)的組合])
比如:
a=rand(2,3,4); %這是一個三維數(shù)組,各維的長度分別為:2,3,4
%現(xiàn)在交換第一維和第二維:
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.]]])
總結(jié)
到此這篇關(guān)于PyTorch中permute的基本用法的文章就介紹到這了,更多相關(guān)PyTorch permute的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
由Python運算π的值深入Python中科學(xué)計算的實現(xiàn)
這篇文章主要介紹了由Python運算π的值深入Python中科學(xué)計算的實現(xiàn),由簡單的計算發(fā)散出各種算法的講解,需要的朋友可以參考下2015-04-04
numpy中np.append()函數(shù)用法小結(jié)
在numpy的函數(shù)庫中,np.append()函數(shù)是一個常用的數(shù)組操作函數(shù),它在進行數(shù)組操作時能夠?qū)蓚€數(shù)組進行拼接,并返回一個拼接后的新數(shù)組,下面就來介紹一下具體用法,感興趣的可以了解一下2023-11-11
Python sqlparse解析SQL表血緣追蹤實現(xiàn)
這篇文章主要為大家介紹了Python sqlparse解析SQL表血緣追蹤實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
Python實現(xiàn)byte轉(zhuǎn)integer
這篇文章主要介紹了Python實現(xiàn)byte轉(zhuǎn)integer操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Python如何將兩個三維模型(obj)合成一個三維模型(obj)
這篇文章主要介紹了Python如何將兩個三維模型(obj)合成一個三維模型(obj)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06

