Pytorch之finetune使用詳解
finetune分為全局finetune和局部finetune。首先介紹一下局部finetune步驟:
1.固定參數(shù)
for name, child in model.named_children():
for param in child.parameters():
param.requires_grad = False
后,只傳入 需要反傳的參數(shù),否則會(huì)報(bào)錯(cuò)
filter(lambda param: param.requires_grad, model.parameters())
2.調(diào)低學(xué)習(xí)率,加快衰減
finetune是在預(yù)訓(xùn)練模型上進(jìn)行微調(diào),學(xué)習(xí)速率不能太大。
目前不清楚:學(xué)習(xí)速率降低的幅度可以更快一些。這樣以來(lái),在使用step的策略時(shí),stepsize可以更小一些。
直接從原始數(shù)據(jù)訓(xùn)練的base_lr一般為0.01,微調(diào)要比0.01小,置為0.001
要比直接訓(xùn)練的小一些,直接訓(xùn)練的stepsize為100000,finetune的stepsize: 50000
3. 固定bn或取消dropout:
batchnorm會(huì)影響訓(xùn)練的效果,隨著每個(gè)batch,追蹤樣本的均值和方差。對(duì)于固定的網(wǎng)絡(luò),bn應(yīng)該使用全局的數(shù)值
def freeze_bn(self):
for layer in self.modules():
if isinstance(layer, nn.BatchNorm2d):
layer.eval()
訓(xùn)練時(shí),model.train()會(huì)修改模式,freeze_zn()應(yīng)該在這里后面
4.過(guò)濾參數(shù)
訓(xùn)練時(shí),對(duì)于優(yōu)化器,應(yīng)該只傳入需要改變的參數(shù),否則會(huì)報(bào)錯(cuò)
filter(lambda p: p.requires_grad, model.parameters())
以上這篇Pytorch之finetune使用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
教你如何使用Python開(kāi)發(fā)一個(gè)釘釘群應(yīng)答機(jī)器人
在聊天工具大肆侵入我們生活各個(gè)方面的今天,各種消息無(wú)時(shí)無(wú)刻不在侵?jǐn)_我們的每一寸時(shí)間,這種情況下,一個(gè)聊天的機(jī)器人就很有必要了.今天,我們來(lái)學(xué)習(xí)一下使用 Python 開(kāi)發(fā)一個(gè)釘釘?shù)膽?yīng)答機(jī)器人,助你「人生苦短,少回消息」,需要的朋友可以參考下2021-06-06
Python實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列的方法
這篇文章主要介紹了Python實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
使用Django xadmin 實(shí)現(xiàn)修改時(shí)間選擇器為不可輸入狀態(tài)
這篇文章主要介紹了使用Django xadmin 實(shí)現(xiàn)修改時(shí)間選擇器為不可輸入狀態(tài),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
python實(shí)現(xiàn)嵌套列表平鋪的兩種方法
今天小編就為大家分享一篇python實(shí)現(xiàn)嵌套列表平鋪的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
python運(yùn)行cmd命令行的3種方法總結(jié)
雖然python在調(diào)用cmd命令方面使用的比較少,不過(guò)還是要用的,下面這篇文章主要給大家介紹了關(guān)于python運(yùn)行cmd命令行的3種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
python框架django項(xiàng)目部署相關(guān)知識(shí)詳解
這篇文章主要介紹了python框架django項(xiàng)目部署相關(guān)知識(shí)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
python+django+mysql開(kāi)發(fā)實(shí)戰(zhàn)(附demo)
本文主要介紹了python+django+mysql開(kāi)發(fā)實(shí)戰(zhàn)(附demo),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
解決keras使用cov1D函數(shù)的輸入問(wèn)題
這篇文章主要介紹了解決keras使用cov1D函數(shù)的輸入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06

