Pytorch中expand()的使用(擴(kuò)展某個(gè)維度)
Pytorch expand()的使用
有兩點(diǎn)需要注意,無論是 expand() 還是 expand_as():
1.只能在第0維擴(kuò)展一個(gè)維數(shù),比如原來是是(1,3,4)==》(2,1,3,4),而在其他維度擴(kuò)展不可以(1,3,4)==》(1,2,3,4)【錯(cuò)誤】
2.如果不增加維數(shù),只是增加維度,要增加的原維度必須是1才可以在該維度增加維度,其他值均不可以
import torch #1 x = torch.randn(2, 1, 1)#為1可以擴(kuò)展為3和4 x = x.expand(2, 3, 4) print('x :', x.size()) >>> x : torch.Size([2, 3, 4]) #2 #擴(kuò)展一個(gè)新的維度必須在最前面,否則會(huì)報(bào)錯(cuò) x = x.expand(2, 3, 4, 6) >>> RuntimeError: The expanded size of the tensor (3) must match the existing size (2) at non-singleton dimension 1. x = x.expand(6, 2, 3, 4) >>> x : torch.Size([6, 2, 3, 4]) #3 #某一個(gè)維度為-1表示不改變?cè)摼S度的大小 x = x.expand(6, -1, -1, -1) >>> x : torch.Size([6, 2, 1, 1])
import torch #1 x = torch.randn(2, 1, 1)#原維度為1可以擴(kuò)展為其他維度 y = torch.randn(2, 3, 3) x = x.expand_as(y) print('x :', x.size()) >>> x : torch.Size([2, 3, 3]) #2 x = torch.randn(2, 2, 2)#原維度為其他不是1的值不可以擴(kuò)展為其他維度 y = torch.randn(2, 3, 4) x = x.expand_as(y) print('x :', x.size()) >>> RuntimeError: The expanded size of the tensor (4) must match the existing size (2) at non-singleton dimension 2. Target sizes: [2, 3, 4].
Pytorch expand()函數(shù)
返回tensor的一個(gè)新視圖
單個(gè)維度擴(kuò)大為更大的尺寸。
tensor也可以擴(kuò)大為更高維,新增加的維度將附在前面。
擴(kuò)大tensor不需要分配新內(nèi)存,只是僅僅新建一個(gè)tensor的視圖,其中通過將stride設(shè)為0,一維將會(huì)擴(kuò)展位更高維。
任何一個(gè)一維的在不分配新內(nèi)存情況下可擴(kuò)展為任意的數(shù)值。
note:使用expand()函數(shù)的時(shí)候
x自身不會(huì)改變,因此需要將結(jié)果重新賦值。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python編程中內(nèi)置的NotImplemented類型的用法
這篇文章主要介紹了Python編程中內(nèi)置的NotImplemented類型的用法,NotImplemented 是Python在內(nèi)置命名空間中的六個(gè)常數(shù)之一,下文更多詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-03-03Python使用pyautocad+openpyxl處理cad文件示例
這篇文章主要介紹了Python使用pyautocad+openpyxl處理cad文件,結(jié)合實(shí)例形式分析了Python使用pyautocad與openpyxl模塊讀寫cad文件相關(guān)應(yīng)用操作技巧,需要的朋友可以參考下2019-07-07Python實(shí)現(xiàn)強(qiáng)制復(fù)制粘貼的示例詳解
下個(gè)文檔還要馬內(nèi)?還好我會(huì)Python,本文就來教大家來一手如何利用Python實(shí)現(xiàn)強(qiáng)制復(fù)制粘貼。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-12-12使用Python實(shí)現(xiàn)NBA球員數(shù)據(jù)查詢小程序功能
這篇文章主要介紹了使用Python實(shí)現(xiàn)NBA球員數(shù)據(jù)查詢小程序功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11python手機(jī)號(hào)前7位歸屬地爬蟲代碼實(shí)例
這篇文章主要介紹了python手機(jī)號(hào)前7位歸屬地爬蟲代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python使用grequests并發(fā)發(fā)送請(qǐng)求的示例
這篇文章主要介紹了Python使用grequests并發(fā)送請(qǐng)求的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11Github?Copilot的申請(qǐng)以及在Pycharm的配置與使用詳解
GitHub在聯(lián)合OpenAI推出了一款"GitHub Copilot"工具,可以根據(jù)上下文自動(dòng)寫代碼,下面這篇文章主要給大家介紹了關(guān)于Github?Copilot的申請(qǐng)以及在Pycharm的配置與使用的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04