這篇文章給大家分享的是有關(guān)pytorch如何獲取模型某一層參數(shù)名及參數(shù)值方式的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)專注于游仙網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供游仙營銷型網(wǎng)站建設(shè),游仙網(wǎng)站制作、游仙網(wǎng)頁設(shè)計(jì)、游仙網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造游仙網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供游仙網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。pytorch的優(yōu)點(diǎn)1.PyTorch是相當(dāng)簡潔且高效快速的框架;2.設(shè)計(jì)追求最少的封裝;3.設(shè)計(jì)符合人類思維,它讓用戶盡可能地專注于實(shí)現(xiàn)自己的想法;4.與google的Tensorflow類似,F(xiàn)AIR的支持足以確保PyTorch獲得持續(xù)的開發(fā)更新;5.PyTorch作者親自維護(hù)的論壇 供用戶交流和求教問題6.入門簡單
1、Motivation:
I wanna modify the value of some param;
I wanna check the value of some param.
The needed function:
2、state_dict() #generator type
model.modules()#generator type
named_parameters()#OrderDict type
from torch import nn import torch #creat a simple model model = nn.Sequential( nn.Conv3d(1,16,kernel_size=1), nn.Conv3d(16,2,kernel_size=1))#tend to print the W of this layer input = torch.randn([1,1,16,256,256]) if torch.cuda.is_available(): print('cuda is avaliable') model.cuda() input = input.cuda() #打印某一層的參數(shù)名 for name in model.state_dict(): print(name) #Then I konw that the name of target layer is '1.weight' #schemem1(recommended) print(model.state_dict()['1.weight']) #scheme2 params = list(model.named_parameters())#get the index by debuging print(params[2][0])#name print(params[2][1].data)#data #scheme3 params = {}#change the tpye of 'generator' into dict for name,param in model.named_parameters(): params[name] = param.detach().cpu().numpy() print(params['0.weight']) #scheme4 for layer in model.modules(): if(isinstance(layer,nn.Conv3d)): print(layer.weight) #打印每一層的參數(shù)名和參數(shù)值 #schemem1(recommended) for name,param in model.named_parameters(): print(name,param) #scheme2 for name in model.state_dict(): print(name) print(model.state_dict()[name])
感謝各位的閱讀!關(guān)于“pytorch如何獲取模型某一層參數(shù)名及參數(shù)值方式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!