pytorch 改變tensor尺寸的實(shí)現(xiàn)
改變Tensor尺寸的操作
1.tensor.view
tensor.view方法,可以調(diào)整tensor的形狀,但必須保證調(diào)整前后元素總數(shù)一致。view不會(huì)改變自身數(shù)據(jù),返回的新的tensor與源tensor共享內(nèi)存,即更改其中一個(gè),另外一個(gè)也會(huì)跟著改變。
例:
In: import torch as t
a = t.arange(0, 6)
a.view(2, 3)
Out:tensor([[0, 1, 2],
[3, 4, 5]])
In: b = a.view(-1, 3)#當(dāng)某一維為-1的時(shí)候,會(huì)自動(dòng)計(jì)算它的大小
Out:tensor([[0, 1, 2],
[3, 4, 5]])
2.tensor.unsqueeze 和 tensor.squeeze
tensor.unsqueeze 和 tensor.squeeze分別用于增加或減少tensor的某一維度。
例:
In: b.unsqueeze(1)#注意形狀, 在第1維(下標(biāo)從0開(kāi)始)上增加“1”
Out:tensor([[[0, 1, 2]],
[[3, 4, 5]]])
In: b.unsqueeze(-2) #-2表示倒數(shù)第二個(gè)維度
Out:tensor([[[0, 1, 2]],
[[3, 4, 5]]])
In: c = b.view(1, 1, 1, 2, 3)
c.unsqueeze(0)#壓縮第0維的“1”
Out:tensor([[[[[[0, 1, 2],
[3, 4, 5]]]]]])
In: c.squeeze() #把所有維度為“1”的壓縮
Out:tensor([[0, 1, 2],
[3, 4, 5]])
In:a[1] = 100
b #a和b共享內(nèi)存,修改了a,b也變了
Out:tensor([[ 0, 100, 2],
[ 3, 4, 5]])
3.tensor.resize
tensor.resize是另外一種可以調(diào)整tensor尺寸的方法,但與view不同,它可以修改tensor的尺寸。如果新尺寸超過(guò)了原尺寸,會(huì)自動(dòng)分配新的內(nèi)存空間;如果新尺寸小于原尺寸,則之前的數(shù)據(jù)依舊會(huì)保存
例:
In: b.resize_(1, 3)
Out:tensor([[ 0, 100, 2]])
In: b.resize_(3, 3)#舊的數(shù)據(jù)依舊保存著,多出的數(shù)據(jù)會(huì)分配新空間
Out:tensor([[ 0, 100, 2],
[ 3, 4, 5],
[ 0, 0, 2323344073926471279]])
以上這篇pytorch 改變tensor尺寸的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python?matplotlib畫圖時(shí)坐標(biāo)軸重疊顯示不全和圖片保存時(shí)不完整的問(wèn)題解決
最近工作中遇到了matplotlib保存圖片坐標(biāo)軸不完整的問(wèn)題,所以這篇文章主要給大家介紹了關(guān)于python?matplotlib畫圖時(shí)坐標(biāo)軸重疊顯示不全和圖片保存時(shí)不完整問(wèn)題的解決方法,需要的朋友可以參考下2022-07-07
keras實(shí)現(xiàn)theano和tensorflow訓(xùn)練的模型相互轉(zhuǎn)換
這篇文章主要介紹了keras實(shí)現(xiàn)theano和tensorflow訓(xùn)練的模型相互轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
使用Python進(jìn)行二進(jìn)制文件讀寫的簡(jiǎn)單方法(推薦)
下面小編就為大家?guī)?lái)一篇使用Python進(jìn)行二進(jìn)制文件讀寫的簡(jiǎn)單方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
Python實(shí)現(xiàn)號(hào)碼歸屬地查詢功能
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)對(duì)手機(jī)號(hào)碼進(jìn)行地域分析并查詢歸屬地的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12
python實(shí)現(xiàn)網(wǎng)站微信登錄的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)網(wǎng)站微信登錄的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

