PyTorch里面的torch.nn.Parameter()詳解
在看過很多博客的時候發(fā)現(xiàn)了一個用法self.v = torch.nn.Parameter(torch.FloatTensor(hidden_size)),首先可以把這個函數(shù)理解為類型轉(zhuǎn)換函數(shù),將一個不可訓(xùn)練的類型Tensor轉(zhuǎn)換成可以訓(xùn)練的類型parameter并將這個parameter綁定到這個module里面(net.parameter()中就有這個綁定的parameter,所以在參數(shù)優(yōu)化的時候可以進(jìn)行優(yōu)化的),所以經(jīng)過類型轉(zhuǎn)換這個self.v變成了模型的一部分,成為了模型中根據(jù)訓(xùn)練可以改動的參數(shù)了。
使用這個函數(shù)的目的也是想讓某些變量在學(xué)習(xí)的過程中不斷的修改其值以達(dá)到最優(yōu)化。
出現(xiàn)這個函數(shù)的地方

在concat注意力機(jī)制中,權(quán)值V是不斷學(xué)習(xí)的所以要是parameter類型,不直接使用一個torch.nn.Linear()可能是因為學(xué)習(xí)的效果不好。
通過做下面的實驗發(fā)現(xiàn),linear里面的weight和bias就是parameter類型,且不能夠使用tensor類型替換,還有l(wèi)inear里面的weight甚至可能通過指定一個不同于初始化時候的形狀進(jìn)行模型的更改。

self.gamma被綁定到模型中了,所以可以在訓(xùn)練的時候優(yōu)化
以上這篇PyTorch里面的torch.nn.Parameter()詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python?Type?Hints?學(xué)習(xí)之從入門到實踐
Type?Hints(類型注解)進(jìn)一步強(qiáng)化了Python是一門強(qiáng)類型語言的特性,它在?Python3.5?中第一次被引入。使用Type?Hints可以讓我們編寫出帶有類型的Python代碼,本文將詳細(xì)介紹一下Type?Hints,感興趣的小伙伴可以關(guān)注一下2021-11-11
Python 3.8新特征之a(chǎn)syncio REPL
我最近都在寫一些Python 3.8的新功能介紹的文章,在自己的項目中也在提前體驗新的Python版本。這篇文章主要介紹了Python 3.8新特征之a(chǎn)syncio REPL,需要的朋友可以參考下2019-05-05
python configparser中默認(rèn)值的設(shè)定方式
這篇文章主要介紹了python configparser中默認(rèn)值的設(shè)定方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
使用Python編寫Linux系統(tǒng)守護(hù)進(jìn)程實例
這篇文章主要介紹了使用Python編寫Linux系統(tǒng)守護(hù)進(jìn)程實例,本文先是講解了什么是守護(hù)進(jìn)程,然后給出了一個Python語言的簡單實現(xiàn),需要的朋友可以參考下2015-02-02
python 解決print數(shù)組/矩陣無法完整輸出的問題
這篇文章主要介紹了關(guān)于python 解決print數(shù)組/矩陣無法完整輸出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python selenium實現(xiàn)斷言3種方法解析
這篇文章主要介紹了Python selenium實現(xiàn)斷言3種方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
圖文詳解在Anaconda安裝Pytorch的詳細(xì)步驟
Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項,下面這篇文章主要給大家介紹了關(guān)于在Anaconda安裝Pytorch的詳細(xì)步驟,需要的朋友可以參考下2022-07-07

