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)文章
如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見(jiàn)陷阱
SQLAlchemy 是一個(gè) Python ORM 工具包,它提供使用 Python 訪問(wèn) SQL 數(shù)據(jù)庫(kù)的功能。這篇文章主要介紹了如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見(jiàn)陷阱,需要的朋友可以參考下2019-11-11django中使用POST方法獲取POST數(shù)據(jù)
這篇文章主要介紹了django中使用POST方法獲取POST數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python使用tesseract實(shí)現(xiàn)字符識(shí)別功能
Tesseract 是一個(gè)開(kāi)源的光學(xué)字符識(shí)別(OCR)引擎,它能夠識(shí)別多種語(yǔ)言的文本,可將掃描文檔、圖像中的文字提取并轉(zhuǎn)換為計(jì)算機(jī)可編輯的文本格式,本文給大家介紹了python使用tesseract實(shí)現(xiàn)字符識(shí)別功能,需要的朋友可以參考下2024-10-10Python中用于檢查英文字母大寫(xiě)的isupper()方法
這篇文章主要介紹了Python中用于檢查英文字母大寫(xiě)的isupper()方法,是Python入門(mén)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05Python 調(diào)用 Windows API COM 新法
Python中調(diào)用Win32API 通常都是使用 PyWin32或者ctypes。本文給大家介紹Python 調(diào)用 Windows API COM 新法,感興趣的朋友跟隨小編一起看看吧2019-08-08Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word簡(jiǎn)明教程
這篇文章主要介紹了Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word,需要的朋友可以參考下2014-07-07Python?Pyecharts繪制?;鶊D分析用戶行為路徑
這篇文章主要為大家介紹了Python?Pyecharts繪制?;鶊D分析用戶行為路徑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05