亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于PyTorch中view的用法說明

 更新時間:2021年03月03日 14:34:31   作者:York1996  
這篇文章主要介紹了基于PyTorch中view的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

相當(dāng)于numpy中resize()的功能,但是用法可能不太一樣。

我的理解是:

把原先tensor中的數(shù)據(jù)按照行優(yōu)先的順序排成一個一維的數(shù)據(jù)(這里應(yīng)該是因為要求地址是連續(xù)存儲的),然后按照參數(shù)組合成其他維度的tensor。

比如說是不管你原先的數(shù)據(jù)是[[[1,2,3],[4,5,6]]]還是[1,2,3,4,5,6],因為它們排成一維向量都是6個元素,所以只要view后面的參數(shù)一致,得到的結(jié)果都是一樣的。

比如,

a=torch.Tensor([[[1,2,3],[4,5,6]]])
b=torch.Tensor([1,2,3,4,5,6])
print(a.view(1,6))
print(b.view(1,6))

得到的結(jié)果都是

tensor([[1., 2., 3., 4., 5., 6.]]) 

再看一個例子:

a=torch.Tensor([[[1,2,3],[4,5,6]]])
print(a.view(3,2))

將會得到:

tensor([[1., 2.],
    [3., 4.],
    [5., 6.]])

相當(dāng)于就是從1,2,3,4,5,6順序的拿數(shù)組來填充需要的形狀。但是如果您想得到如下的結(jié)果:

tensor([[1., 4.],
    [2., 5.],
    [3., 6.]])

就需要使用另一個函數(shù)了:permute()。用法參見我的另一篇博客:PyTorch中permute的用法

另外,參數(shù)不可為空。參數(shù)中的-1就代表這個位置由其他位置的數(shù)字來推斷,只要在不致歧義的情況的下,view參數(shù)就可以推斷出來,也就是人可以推斷出形狀的情況下,view函數(shù)也可以推斷出來。

比如a tensor的數(shù)據(jù)個數(shù)是6個,如果view(1,-1),我們就可以根據(jù)tensor的元素個數(shù)推斷出-1代表6。

而如果是view(-1,-1,2),人不知道怎么推斷,機器也不知道。

還有一種情況是人可以推斷出來,但是機器推斷不出來的:view(-1,-1,6),人可以知道-1都代表1,但是機器不允許同時有兩個負(fù)1。

如果沒有-1,那么所有參數(shù)的乘積就要和tensor中元素的總個數(shù)一致了,否則就會出現(xiàn)錯誤。

補充:pytorch中x.view()和permute用法

pytorch中x.view()用法

在pytorch中經(jīng)常會看到x.view(),它表示將Tensor的維度轉(zhuǎn)變?yōu)関iew指定的維度,有點類似于resize函數(shù)

b=torch.Tensor([[[[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9]]]])
print(b.size())
(1, 2, 3, 3)
print(b.view(b.size(0),-1))
tensor([[1., 2., 3., 4., 5., 6., 7., 8., 9., 1., 2., 3., 4., 5., 6., 7., 8., 9.]])
print(b.view(b.size(0),-1).size())
(1, 18)

b.size(0)表示b中0維度==1,-1是按照原數(shù)據(jù)自動分配的列數(shù)。

a=torch.Tensor([[[1,2,3],[4,5,6]]])
print(a.size())
(1, 2, 3)
print(a.view(6,-1))
tensor([[1.],
[2.],
[3.],
[4.],
[5.],
[6.]])
print(a.view(6,-1).size())
(6, 1)

將a轉(zhuǎn)變成6行1列

print(a.view(-1,6).size())
(1, 6)

或者將a轉(zhuǎn)變成1行6列

在程序里還經(jīng)常見到view函數(shù)后面跟著permute()函數(shù),這個函數(shù)是做維度換位的

print(a.view(-1,6).permute(1,0))
tensor([[1.],
[2.],
[3.],
[4.],
[5.],
[6.]])
print(a.view(-1,6).permute(1,0).size())
(6, 1)

加了permute,a就由(1,6)變成(6,1)了。

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

相關(guān)文章

  • 基于python實現(xiàn)的百度音樂下載器python pyqt改進(jìn)版(附代碼)

    基于python實現(xiàn)的百度音樂下載器python pyqt改進(jìn)版(附代碼)

    這篇文章主要介紹了基于python實現(xiàn)的百度音樂下載器python pyqt改進(jìn)版(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • matplotlib 曲線圖 和 折線圖 plt.plot()實例

    matplotlib 曲線圖 和 折線圖 plt.plot()實例

    這篇文章主要介紹了matplotlib 曲線圖 和 折線圖 plt.plot()實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python?文本文件與csv文件的讀取與寫入

    Python?文本文件與csv文件的讀取與寫入

    這篇文章主要介紹了Python文本文件與csv文件的讀取與寫入,有讀取文件的?read()方法、讀取文件的readline()?方法、讀取文件的?readlines()方法等相關(guān)讀寫內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • python中實現(xiàn)定制類的特殊方法總結(jié)

    python中實現(xiàn)定制類的特殊方法總結(jié)

    這篇文章主要介紹了python中實現(xiàn)定制類的特殊方法總結(jié),本文講解了__str__、__iter__、__getitem__、__getattr__、__call__等特殊方法,需要的朋友可以參考下
    2014-09-09
  • Python進(jìn)行ffmpeg推流和拉流rtsp、rtmp實例詳解

    Python進(jìn)行ffmpeg推流和拉流rtsp、rtmp實例詳解

    Python推流本質(zhì)是調(diào)用FFmpeg的推流進(jìn)程,下面這篇文章主要給大家介紹了關(guān)于Python進(jìn)行ffmpeg推流和拉流rtsp、rtmp的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Python裝飾器用法實例分析

    Python裝飾器用法實例分析

    這篇文章主要介紹了Python裝飾器用法,結(jié)合實例形式分析了帶參數(shù)裝飾器、無參數(shù)裝飾器等相關(guān)實現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-01-01
  • Python3標(biāo)準(zhǔn)庫總結(jié)

    Python3標(biāo)準(zhǔn)庫總結(jié)

    在本篇內(nèi)容中我們給大家總結(jié)了關(guān)于Python3標(biāo)準(zhǔn)庫的相關(guān)內(nèi)容,需要的朋友們跟著學(xué)習(xí)下。
    2019-02-02
  • Django實現(xiàn)帶進(jìn)度條的倒計時功能詳解

    Django實現(xiàn)帶進(jìn)度條的倒計時功能詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Django實現(xiàn)簡單的帶進(jìn)度條的倒計時功能,可以在頁面加載后自動開始計時,下次計時需要手動刷新頁面,需要的可以參考一下
    2023-04-04
  • PyTorch之torch.matmul函數(shù)的使用及說明

    PyTorch之torch.matmul函數(shù)的使用及說明

    PyTorch的torch.matmul是一個強大的矩陣乘法函數(shù),支持不同維度張量的乘法運算,包括廣播機制。提供了矩陣乘法的語法,參數(shù)說明,以及使用示例,幫助理解其應(yīng)用方式和乘法規(guī)則
    2024-09-09
  • pycharm 使用心得(五)斷點調(diào)試

    pycharm 使用心得(五)斷點調(diào)試

    PyCharm 作為IDE,斷點調(diào)試是必須有的功能。否則,我們還真不如用純編輯器寫的快。
    2014-06-06

最新評論