成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > pytorch下的unsqueeze和squeeze的用法說明

pytorch下的unsqueeze和squeeze的用法說明

熱門標(biāo)簽:申請辦個400電話號碼 千呼ai電話機(jī)器人免費 400電話辦理費用收費 柳州正規(guī)電銷機(jī)器人收費 高德地圖標(biāo)注字母 騰訊地圖標(biāo)注有什么版本 鎮(zhèn)江人工外呼系統(tǒng)供應(yīng)商 外呼系統(tǒng)前面有錄音播放嗎 深圳網(wǎng)絡(luò)外呼系統(tǒng)代理商

#squeeze 函數(shù):從數(shù)組的形狀中刪除單維度條目,即把shape中為1的維度去掉

#unsqueeze() 是squeeze()的反向操作,增加一個維度,該維度維數(shù)為1,可以指定添加的維度。例如unsqueeze(a,1)表示在1這個維度進(jìn)行添加

import torch 
a=torch.rand(2,3,1)       
print(torch.unsqueeze(a,2).size())#torch.Size([2, 3, 1, 1]) 
print(a.size())         #torch.Size([2, 3, 1])
print(a.squeeze().size())    #torch.Size([2, 3]) 
print(a.squeeze(0).size())   #torch.Size([2, 3, 1])
 
print(a.squeeze(-1).size())   #torch.Size([2, 3])
print(a.size())         #torch.Size([2, 3, 1])
print(a.squeeze(-2).size())   #torch.Size([2, 3, 1])
print(a.squeeze(-3).size())   #torch.Size([2, 3, 1])
print(a.squeeze(1).size())   #torch.Size([2, 3, 1])
print(a.squeeze(2).size())   #torch.Size([2, 3])
print(a.squeeze(3).size())   #RuntimeError: Dimension out of range (expected to be in range of [-3, 2], but got 3)
 
print(a.unsqueeze().size())   #TypeError: unsqueeze() missing 1 required positional arguments: "dim"
print(a.unsqueeze(-3).size())  #torch.Size([2, 1, 3, 1])
print(a.unsqueeze(-2).size())  #torch.Size([2, 3, 1, 1])
print(a.unsqueeze(-1).size())  #torch.Size([2, 3, 1, 1])
print(a.unsqueeze(0).size())  #torch.Size([1, 2, 3, 1])
print(a.unsqueeze(1).size())  #torch.Size([2, 1, 3, 1])
print(a.unsqueeze(2).size())  #torch.Size([2, 3, 1, 1])
print(a.unsqueeze(3).size())  #torch.Size([2, 3, 1, 1])
print(torch.unsqueeze(a,3))
b=torch.rand(2,1,3,1)
print(b.squeeze().size())    #torch.Size([2, 3])

補(bǔ)充:pytorch中unsqueeze()、squeeze()、expand()、repeat()、view()、和cat()函數(shù)的總結(jié)

學(xué)習(xí)Bert模型的時候,需要使用到pytorch來進(jìn)行tensor的操作,由于對pytorch和tensor不熟悉,就把pytorch中常用的、有關(guān)tensor操作的unsqueeze()、squeeze()、expand()、view()、cat()和repeat()等函數(shù)做一個總結(jié),加深記憶。

1、unsqueeze()和squeeze()

torch.unsqueeze(input, dim,out=None) → Tensor

unsqueeze()的作用是用來增加給定tensor的維度的,unsqueeze(dim)就是在維度序號為dim的地方給tensor增加一維。例如:維度為torch.Size([768])的tensor要怎樣才能變?yōu)閠orch.Size([1, 768, 1])呢?就可以用到unsqueeze(),直接上代碼:

a=torch.randn(768)
print(a.shape) # torch.Size([768])
a=a.unsqueeze(0)
print(a.shape) #torch.Size([1, 768])
a = a.unsqueeze(2)
print(a.shape) #torch.Size([1, 768, 1])

也可以直接使用鏈?zhǔn)骄幊蹋?/p>

a=torch.randn(768)
print(a.shape) # torch.Size([768])
a=a.unsqueeze(1).unsqueeze(0)
print(a.shape) #torch.Size([1, 768, 1])

tensor經(jīng)過unsqueeze()處理之后,總數(shù)據(jù)量不變;維度的擴(kuò)展類似于list不變直接在外面加幾層[]括號。

torch.squeeze(input, dim=None, out=None) → Tensor

squeeze()的作用就是壓縮維度,直接把維度為1的維給去掉。形式上表現(xiàn)為,去掉一層[]括號。

同時,輸出的張量與原張量共享內(nèi)存,如果改變其中的一個,另一個也會改變。

a=torch.randn(2,1,768)
print(a)
print(a.shape) #torch.Size([2, 1, 768])
a=a.squeeze()
print(a)
print(a.shape) #torch.Size([2, 768])

圖片中的維度信息就不一樣,紅框中的括號層數(shù)不同。

注意的是:squeeze()只能壓縮維度為1的維;其他大小的維不起作用。

a=torch.randn(2,768)
print(a.shape) #torch.Size([2, 768])
a=a.squeeze()
print(a.shape) #torch.Size([2, 768])

2、expand()

這個函數(shù)的作用就是對指定的維度進(jìn)行數(shù)值大小的改變。只能改變維大小為1的維,否則就會報錯。不改變的維可以傳入-1或者原來的數(shù)值。

torch.Tensor.expand(*sizes) → Tensor

返回張量的一個新視圖,可以將張量的單個維度擴(kuò)大為更大的尺寸。

a=torch.randn(1,1,3,768)
print(a) 
print(a.shape) #torch.Size([1, 1, 3, 768])
b=a.expand(2,-1,-1,-1)
print(b)
print(b.shape) #torch.Size([2, 1, 3, 768])
c=a.expand(2,1,3,768)
print(c.shape) #torch.Size([2, 1, 3, 768])

可以看到b和c的維度是一樣的

第0維由1變?yōu)?,可以看到就直接把原來的tensor在該維度上復(fù)制了一下。

3、repeat()

repeat(*sizes)

沿著指定的維度,對原來的tensor進(jìn)行數(shù)據(jù)復(fù)制。這個函數(shù)和expand()還是有點區(qū)別的。expand()只能對維度為1的維進(jìn)行擴(kuò)大,而repeat()對所有的維度可以隨意操作。

a=torch.randn(2,1,768)
print(a)
print(a.shape) #torch.Size([2, 1, 768])
b=a.repeat(1,2,1)
print(b)
print(b.shape) #torch.Size([2, 2, 768])
c=a.repeat(3,3,3)
print(c)
print(c.shape) #torch.Size([6, 3, 2304])

b表示對a的對應(yīng)維度進(jìn)行乘以1,乘以2,乘以1的操作,所以b:torch.Size([2, 1, 768])

c表示對a的對應(yīng)維度進(jìn)行乘以3,乘以3,乘以3的操作,所以c:torch.Size([6, 3, 2304])

a:

b

c

4、view()

tensor.view()這個函數(shù)有點類似reshape的功能,簡單的理解就是:先把一個tensor轉(zhuǎn)換成一個一維的tensor,然后再組合成指定維度的tensor。例如:

word_embedding=torch.randn(16,3,768)
print(word_embedding.shape)
new_word_embedding=word_embedding.view(8,6,768)
print(new_word_embedding.shape)

當(dāng)然這里指定的維度的乘積一定要和原來的tensor的維度乘積相等,不然會報錯的。16*3*768=8*6*768

另外當(dāng)我們需要改變一個tensor的維度的時候,知道關(guān)鍵的維度,有不想手動的去計算其他的維度值,就可以使用view(-1),pytorch就會自動幫你計算出來。

word_embedding=torch.randn(16,3,768)
print(word_embedding.shape)
new_word_embedding=word_embedding.view(-1)
print(new_word_embedding.shape)
new_word_embedding=word_embedding.view(1,-1)
print(new_word_embedding.shape)
new_word_embedding=word_embedding.view(-1,768)
print(new_word_embedding.shape)

結(jié)果如下:使用-1以后,就會自動得到其他維度維。

需要特別注意的是:view(-1,-1)這樣的用法就會出錯。也就是說view()函數(shù)中只能出現(xiàn)單個-1。

5、cat()

cat(seq,dim,out=None),表示把兩個或者多個tensor拼接起來。

其中 seq表示要連接的兩個序列,以元組的形式給出,例如:seq=(a,b), a,b 為兩個可以連接的序列

dim 表示以哪個維度連接,dim=0, 橫向連接 dim=1,縱向連接

a=torch.randn(4,3)
b=torch.randn(4,3)
 
c=torch.cat((a,b),dim=0)#橫向拼接,增加行 torch.Size([8, 3])
print(c.shape)
d=torch.cat((a,b),dim=1)#縱向拼接,增加列 torch.Size([4, 6])
print(d.shape)

還有一種寫法:cat(list,dim,out=None),其中l(wèi)ist中的元素為tensor。

tensors=[]
for i in range(10):
  tensors.append(torch.randn(4,3))
a=torch.cat(tensors,dim=0) #torch.Size([40, 3])
print(a.shape)
b=torch.cat(tensors,dim=1) #torch.Size([4, 30])
print(b.shape)

結(jié)果:

torch.Size([40, 3])
torch.Size([4, 30])

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹
  • pytorch中torch.max和Tensor.view函數(shù)用法詳解
  • pytorch中的squeeze函數(shù)、cat函數(shù)使用

標(biāo)簽:郴州 平頂山 海南 哈爾濱 烏蘭察布 大慶 合肥 烏蘭察布

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pytorch下的unsqueeze和squeeze的用法說明》,本文關(guān)鍵詞  pytorch,下的,unsqueeze,和,squeeze,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《pytorch下的unsqueeze和squeeze的用法說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于pytorch下的unsqueeze和squeeze的用法說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品最新自拍| 成人午夜视频在线观看| 9自拍视频在线观看| 欧美一级淫片videoshd| 26uuu久久噜噜噜噜| 三级在线观看视频| 欧美日韩一卡| 超碰在线最新网址| 欧美一级黑人aaaaaaa做受| 在线观看欧美成人| 国产三级av片| 久久久久久久香蕉网| www.成人在线| 亚洲制服一区| 日韩黄色片在线观看| av二区三区| 亚洲一区自拍偷拍| 国产区日韩欧美| 欲色天天网综合久久| 久操视频在线免费观看| 99久久久免费精品国产一区二区| 91精品国产三级| 欧美日韩a v| 亚洲爽爆av| 久久久久香蕉视频| 精品人妻少妇一区二区| 亚洲综合精品久久| 日本高清视频在线观看| 亚洲欧洲第一视频| 免费人成精品欧美精品| 欧美日韩在线免费视频| 国产亚洲一区二区三区| 992tv在线影院| 欧美日韩国产欧美日美国产精品| 日韩中文字幕av电影| 国产欧美日本在线| 欧美色网一区二区| 蜜桃视频在线观看www社区| 国产成人精品亚洲男人的天堂| 欧洲午夜精品| 国产精品久线在线观看| 欧美成人久久| 国产一级二级视频| 成人资源在线| 97久久超碰国产精品电影| 欧美挤奶吃奶水xxxxx| 亚洲大尺度美女在线| 国产精品宾馆在线精品酒店| 免费成人高清| 日韩欧美中文字幕在线播放| 亚洲国产精品久久久久爰色欲| h狠狠躁死你h高h| 国产精品一区二区久久精品| 中文字幕av高清片| 国产成+人+综合+亚洲欧洲| 日本中文字幕高清视频| 色无极影院亚洲| 极品魔鬼身材女神啪啪精品| 成人久久久久久| 国产一级片毛片| 亚洲精品91天天久久人人| 国产真实乱对白精彩久久| 99这里有精品| 92久久精品| 2018亚洲男人天堂| av成人天堂| 丁香桃色午夜亚洲一区二区三区| 日韩一区二区三区精品视频第3页| 亚洲自拍偷拍图| 美日韩在线视频| 日韩成人亚洲| 米奇精品关键词| 国产精品视频123| 日韩精品免费观看| 最近中文字幕mv第三季歌词| 亚洲欧美日韩综合国产aⅴ| 亚洲自拍小视频| 日韩欧美在线视频播放| 91麻豆成人久久精品二区三区| 成人免费一区二区三区视频网站| 国产乱码精品一区二三区蜜臂| 日本精品一区二区在线观看| 一本久道久久综合| 国产91精品一区| 极品白嫩少妇无套内谢| 日日噜噜噜夜夜爽亚洲精品| 1769免费视频在线观看| 免费的av电影| 美女与牲口做爰视频在线观看| 久久综合免费视频| 免费在线观看av网站| 成人在线电影网| 婷婷国产成人久久精品激情| 性欧美gay| 久久一综合视频| 亚洲免费网站观看视频| 91福利视频在线观看| 国产乱码精品一区二区亚洲| 在线观看你懂| 精品动漫一区二区三区在线观看| 99精品视频免费看| 天堂中文资源在线观看| 亚洲视频一区在线| 中文字幕一区二区三中文字幕| 妺妺窝人体色www在线小说| 神马影院我不卡午夜| 精品一区二区三区免费看| 婷婷久久综合九色综合绿巨人| 麻豆电影在线播放| 久久日文中文字幕乱码| 91麻豆精品国产91久久久久久久久| 欧美男人的天堂一二区| 中文产幕区在线观看| 少妇av一区二区三区| 欧美成人精品h版在线观看| 在线精品亚洲| 日韩 中文字幕| 国内精品视频在线| 青青草原免费观看| 欧美在线一卡| 久久精品国产久精国产一老狼| 原纱央莉成人av片| 欧美日韩一区二区三区视视频| 国产一区二区在线观看免费播放| a天堂中文在线观看| 91欧美精品成人综合在线观看| 欧美丝袜一区二区三区| 欧美一区二区三区成人精品| 亚洲另类av| 国产一区网站| 97视频网站| 成av人片一区二区| 色内内免费视频播放| 妺妺窝人体色www看人体| 丁香婷婷激情网| xxxxwww一片| 三级三级久久三级久久18| 成人黄色三级视频| 国产精品自拍合集| 360天大佬第二季在线观看| 色网站国产精品| aaa人片在线| 精品一区中文字幕| 国产免费美女视频| 亚洲精品无码久久久久久久| 日本午夜精品视频在线观看| 黄色一级视频网站| 白白色视频在线| 羞羞的视频免费| 欧美激情中文字幕一区二区| 久久精品一卡二卡| 亚洲第一偷拍| 一本大道熟女人妻中文字幕在线| 99免费在线观看视频| 无码人妻丰满熟妇区毛片| a天堂中文在线官网在线| 韩国成人一区| 久久这里精品| 又色又爽又黄视频| 蜜桃tv一区二区三区| 国产日本精品| 欧美日韩在线国产| 欧美色图片你懂的| 色多多视频网站| 精品久久国产| 九色91在线视频| 欧美黑人猛交| a天堂在线资源| av免费一区二区| 亚洲国产高清在线| 爱情电影网av一区二区| 日本综合在线观看| 天天做天天摸天天爽天天爱| 亚洲男人天堂影院| 亚洲天堂一二三| 欧美日韩中国免费专区在线看| 99re6热只有精品免费观看| 一区二区三区免费视频网站| 97精品久久久午夜一区二区三区| 欧美久久久久久久久中文字幕| 亚洲ai欧洲av| 高清毛片在线看| 免费在线观看麻豆视频| 国产成人精品123区免费视频| 东凛在线观看| 在线中文字幕一区| 免费日本一区二区三区视频| 一区二区三区.www| 国产极品在线观看| 亚洲精品自产拍在线观看app| 国产一区二区影视| 久久狠狠婷婷| 国产精品三级久久久久久电影| 国产91丝袜在线播放九色| 国产精品一二三区在线观看| 色橹橹高清视频在线播放| 国内精品久久久久国产| 日本乱人伦aⅴ精品| 毛片基地黄久久久久久天堂| 日韩一区二区三区四区在线| 亚洲热线99精品视频| av免费在线电影| 99久久免费国产| 日韩一区二区三区不卡视频| 四虎永久在线精品免费网址| 中文在线免费看视频| 中文字幕乱码人妻无码久久| 91国在线精品国内播放| 欧美专区日韩视频| 茄子视频成人在线观看| 久久综合影音| 美女福利视频导航| 国产福利视频在线播放| 色综合一个色综合亚洲| 精品视频一区二区三区四区五区| 国产精品美女主播在线观看纯欲| 91丝袜一区二区三区| 四虎成人欧美精品在永久在线| 国产精品免费一区二区三区都可以| 亚洲欧美在线成人| 韩国精品免费视频| 91精品国产入口在线| 中文字幕乱码一区二区三区| 欧美一区二区三区免费视频| 天堂在线视频| 午夜精品久久久久99热蜜桃导演| 日本一本在线免费福利| 中文字幕一区二区人妻痴汉电车| 蜜桃视频在线观看一区| 国产精品麻豆欧美日韩ww| 国产一区二区女内射| 久久精品九九| 亚洲乱码国产乱码精品精天堂| 国产乱人伦偷精品视频免下载| 亚洲国产成人综合| 亚洲综合社区| 丁香激情综合国产| 欧美亚洲视频一区二区| 亚洲天堂网av在线| 亚洲一区在线| 国产又爽又黄的视频| 国产精品永久免费在线| 91.成人天堂一区| 日韩啪啪网站| 丝袜连裤袜欧美激情日韩| 国产精品久久久久av| av免费观看一区二区| 国产精品久久夜| 4kfree性满足欧美hd18| 激情另类综合| 国产精品久久久久久久久久久久久久久久| 青草久久视频| 欧美日韩综合一区二区| 国产精品久99| 亚洲精品国产手机| 中文国产字幕在线观看| 国产精品久久久久久久久久三级| 久久国产劲爆∧v内射| 99久久99久久精品国产片果冻| 国产精品在线| 伊人色在线观看| 成人精品视频在线播放| 日韩片电影在线免费观看| 69sex久久精品国产麻豆| 久久免费少妇高潮99精品| 首页综合国产亚洲丝袜| 天堂久久一区二区三区| 免费看一级一片| 欧美人妻精品一区二区免费看| 国产精品成人a在线观看| 国产va亚洲va在线va| 久久精品免费一区二区| 蜜桃传媒一区二区| 国产精品大片wwwwww| 日批免费观看视频| 中文字幕av资源一区| 欧美xxxx网站| 免费看污网站| 国模吧无码一区二区三区| 美女扒开腿让男人桶爽久久动漫| 久久一日本道色综合| 性感美女一区二区在线观看| 尤物yw午夜国产精品视频明星| 日韩国产中文字幕| 国产日韩成人精品| 国产精品网站导航| 91欧美激情一区二区三区成人| 日韩欧美一区二区三区不卡视频| av日韩中文| 亚洲综合爱爱久久网| 国产一区视频在线| 7777精品| 91在线免费观看| 国产精彩视频在线| 亚洲免费高清视频| 成年人网站在线观看免费| 91国产一区在线| 好吊视频一二三区| 理论片午夜视频在线观看| 成人污污www网站免费丝瓜| 免费无码不卡视频在线观看| 国产精品视频一区二区三区,| 亚洲欧美一区二区三区四区五区| 亚洲一区二区在线免费看| 国产精品自产拍在线观| www..com.cn蕾丝视频在线观看免费版| 国产羞羞视频在线播放| 国产精品资源站在线| 亚洲永久精品一区| 黄色春季福利在线看| 大胆人体一区二区| 999视频在线| 国产视频一区二区在线观看| 国产亚洲激情在线| 欧美图片一区二区| 成人久久一区二区三区| 9765激情中文在线| 91夜夜蜜桃臀一区二区三区| 亚洲成人1区2区| 欧美午夜精品一区二区三区电影| 91社区在线高清| 欧美人与牲动交xxxxbbbb| 自拍偷拍免费精品| 中文字幕一区在线观看| 色综合激情久久| 欧美禁忌电影网| 制服丝袜网站| 一区二区三区中文在线|