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

Pytorch如何加載部分權(quán)重

 更新時(shí)間:2023年09月15日 10:14:16   作者:Mr_寒路  
這篇文章主要介紹了Pytorch如何加載部分權(quán)重問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1.修改網(wǎng)絡(luò)層輸出

比如在人臉檢測(cè)項(xiàng)目中,已經(jīng)訓(xùn)練好人臉框的回歸,但是此時(shí)需要再加入人臉關(guān)鍵點(diǎn)。

為了節(jié)約大量時(shí)間,我們可以加載部分權(quán)重。加載的網(wǎng)絡(luò)權(quán)重

if os.path.exists(self.load_params):
	pretext_model = torch.load(self.load_params)

打印出來(lái),會(huì)看到網(wǎng)絡(luò)權(quán)重存儲(chǔ)在一個(gè)字典中,需要修改哪一層,用字典的鍵索引值進(jìn)行修改。

比如原本輸出層為4,我將網(wǎng)絡(luò)輸出層修改為14,又由于輸出的都是坐標(biāo)值,屬于同一分布,所以我將原參4復(fù)制擴(kuò)充為了14,效果非常好。

w = pretext_model["fc2.weight"]
b = pretext_model["fc2.bias"]
pretext_model["fc2.weight"] = torch.cat((w,w,w,w[:2]),dim=0)
pretext_model["fc2.bias"] = torch.cat((b,b,b,b[:2]),dim=0)

最后加載修改后的參數(shù)

self.net.load_state_dict(pretext_model)

2.刪除或增加了網(wǎng)絡(luò)層

查看模型的參數(shù),也是存放在一個(gè)字典中

if os.path.exists(self.load_params):
	pretext_model = torch.load(self.load_params) #加載的參數(shù)
	model_dict = net.state_dict()  #模型參數(shù)
	print(model_dict)
	print(pretext_model)
#如果模型有k層,就加載
state_dict = {k: v for k, v in pretext_model.items() if k in model_dict.keys()}
model_dict.update(state_dict)
net.load_state_dict(model_dict)

3.遷移學(xué)習(xí)

有時(shí)我們也會(huì)用別人的模型,加載與訓(xùn)練參數(shù),但是需要對(duì)輸出層做一些修改,一般有兩種方法,直接修改輸出層個(gè)數(shù)或增加網(wǎng)絡(luò)層

修改輸出層個(gè)數(shù)

net = models.vgg19(pretrained=True) #下載與訓(xùn)練參數(shù)
print(net)  #查看網(wǎng)絡(luò)結(jié)構(gòu)
net.classifier[6] = torch.nn.Linear(4096,10) #將輸出層修改為10分類(lèi)

增加輸出網(wǎng)絡(luò)層

num_fc_ftr = net.classifier[6]
net.fc = nn.Linear(num_fc_ftr, 128)
net.out = nn.Linear(128, 10)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

龙山县| 凤台县| 九台市| 彰化市| 大渡口区| 手游| 十堰市| 五河县| 南康市| 宁夏| 博湖县| 长宁区| 顺义区| 定陶县| 临城县| 南溪县| 镇雄县| 巨野县| 根河市| 乌兰县| 新田县| 襄垣县| 伊吾县| 阳春市| 涿鹿县| 柳州市| 治多县| 固镇县| 攀枝花市| 高淳县| 布拖县| 崇明县| 南乐县| 贡嘎县| 稷山县| 林口县| 岳阳县| 瓮安县| 南漳县| 蕲春县| 孝感市|