最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于PyTorch中view的用法說(shuō)明

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

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

我的理解是:

把原先tensor中的數(shù)據(jù)按照行優(yōu)先的順序排成一個(gè)一維的數(shù)據(jù)(這里應(yīng)該是因?yàn)橐蟮刂肥沁B續(xù)存儲(chǔ)的),然后按照參數(shù)組合成其他維度的tensor。

比如說(shuō)是不管你原先的數(shù)據(jù)是[[[1,2,3],[4,5,6]]]還是[1,2,3,4,5,6],因?yàn)樗鼈兣懦梢痪S向量都是6個(gè)元素,所以只要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.]]) 

再看一個(gè)例子:

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

將會(huì)得到:

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

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

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

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

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

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

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

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

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

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

pytorch中x.view()用法

在pytorch中經(jīng)常會(huì)看到x.view(),它表示將Tensor的維度轉(zhuǎn)變?yōu)関iew指定的維度,有點(diǎn)類似于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ù)自動(dòng)分配的列數(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)常見(jiàn)到view函數(shù)后面跟著permute()函數(shù),這個(gè)函數(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)了。

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

相關(guān)文章

  • Python?Ruby?等語(yǔ)言棄用自增運(yùn)算符原因剖析

    Python?Ruby?等語(yǔ)言棄用自增運(yùn)算符原因剖析

    這篇文章主要為大家介紹了Python?Ruby?等語(yǔ)言棄用自增運(yùn)算符原因剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • python cx_Oracle模塊的安裝和使用詳細(xì)介紹

    python cx_Oracle模塊的安裝和使用詳細(xì)介紹

    這篇文章主要介紹了python cx_Oracle模塊的安裝和使用詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 詳解如何設(shè)置Python環(huán)境變量?

    詳解如何設(shè)置Python環(huán)境變量?

    這篇文章主要介紹了如何設(shè)置Python環(huán)境變量?,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python3隨機(jī)漫步生成數(shù)據(jù)并繪制

    Python3隨機(jī)漫步生成數(shù)據(jù)并繪制

    這篇文章主要為大家詳細(xì)介紹了Python3隨機(jī)漫步生成數(shù)據(jù)并繪制的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python與字符編碼問(wèn)題

    python與字符編碼問(wèn)題

    這篇文章主要介紹了python與字符編碼問(wèn)題,下面對(duì)編碼問(wèn)題做個(gè)簡(jiǎn)單的總結(jié),感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法分享

    nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法分享

    今天小編就為大家分享一篇nginx黑名單和django限速,最簡(jiǎn)單的防惡意請(qǐng)求方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python range與enumerate函數(shù)區(qū)別解析

    Python range與enumerate函數(shù)區(qū)別解析

    這篇文章主要介紹了Python range與enumerate函數(shù)區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 淺談Python實(shí)現(xiàn)2種文件復(fù)制的方法

    淺談Python實(shí)現(xiàn)2種文件復(fù)制的方法

    這篇文章主要介紹了淺談Python實(shí)現(xiàn)2種文件復(fù)制的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法

    Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法

    這篇文章主要介紹了Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python繪制指數(shù)分布的概率密度函數(shù)圖

    Python繪制指數(shù)分布的概率密度函數(shù)圖

    在數(shù)據(jù)科學(xué)和統(tǒng)計(jì)學(xué)中,指數(shù)分布是一種應(yīng)用廣泛的連續(xù)概率分布,通常用于建模獨(dú)立隨機(jī)事件發(fā)生的時(shí)間間隔,本文將展示如何在Python中繪制指數(shù)分布的概率密度函數(shù)圖,需要的可以了解下
    2024-12-12

最新評(píng)論

息烽县| 安徽省| 桐城市| 临夏县| 达拉特旗| 上虞市| 五莲县| 嫩江县| 锡林浩特市| 横山县| 五指山市| 大悟县| 涿鹿县| 西吉县| 泰和县| 渭南市| 云南省| 五寨县| 信阳市| 开远市| 青神县| 托克逊县| 达拉特旗| 宜春市| 萍乡市| 平陆县| 阿巴嘎旗| 奉新县| 旌德县| 红原县| 五华县| 邹平县| 宣城市| 锡林郭勒盟| 忻州市| 隆林| 拜城县| 马山县| 柳州市| 卓资县| 朝阳区|