Pytorch 如何訓(xùn)練網(wǎng)絡(luò)時(shí)調(diào)整學(xué)習(xí)率
為了得到更好的網(wǎng)絡(luò),學(xué)習(xí)率通常是要調(diào)整的,即剛開始用較大的學(xué)習(xí)率來加快網(wǎng)絡(luò)的訓(xùn)練,之后為了提高精確度,需要將學(xué)習(xí)率調(diào)低一點(diǎn)。
如圖所示,步長(zhǎng)(學(xué)習(xí)率)太大容易跨過最優(yōu)解。

代碼如下:
表示每20個(gè)epoch學(xué)習(xí)率調(diào)整為之前的10%
optimizer = optim.SGD(gan.parameters(),
lr=0.1,
momentum=0.9,
weight_decay=0.0005)
lr = optimizer.param_groups[0]['lr'] * (0.1 ** (epoch // 20))
for param_group in optimizer.param_groups:
param_group['lr'] = lr
print(optimizer.param_groups[0]['lr'])
補(bǔ)充:Pytorch 在訓(xùn)練過程中實(shí)現(xiàn)學(xué)習(xí)率衰減
在網(wǎng)絡(luò)的訓(xùn)練過程中,學(xué)習(xí)率是一個(gè)非常重要的超參數(shù),它直接影響了網(wǎng)絡(luò)的訓(xùn)練效果。
但過大的學(xué)習(xí)率將會(huì)導(dǎo)致網(wǎng)絡(luò)無法達(dá)到局部最小點(diǎn),使得訓(xùn)練結(jié)果震蕩,準(zhǔn)確率無法提升,而過小的學(xué)習(xí)率將會(huì)導(dǎo)致擬合速度過慢,浪費(fèi)大量的時(shí)間和算力。
因此我們希望在訓(xùn)練之初能夠有較大的學(xué)習(xí)率加快擬合的速率,之后降低學(xué)習(xí)率,使得網(wǎng)絡(luò)能夠更好的達(dá)到局部最小,提高網(wǎng)絡(luò)的效率。
torch.optim.lr_scheduler.LambdaLR()
torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1)
其中optimizer就是包裝好的優(yōu)化器, lr_lambda即為操作學(xué)習(xí)率的函數(shù)。
將每個(gè)參數(shù)組的學(xué)習(xí)速率設(shè)置為初始的lr乘以一個(gè)給定的函數(shù)。
當(dāng)last_epoch=-1時(shí),將初始lr設(shè)置為lr。
torch.optim.lr_scheduler.StepLR()
torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1)
其中optimizer就是包裝好的優(yōu)化器,step_size (int) 為學(xué)習(xí)率衰減期,指幾個(gè)epoch衰減一次。gamma為學(xué)習(xí)率衰減的乘積因子。 默認(rèn)為0.1 。當(dāng)last_epoch=-1時(shí),將初始lr設(shè)置為lr。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
跟老齊學(xué)Python之使用Python操作數(shù)據(jù)庫(kù)(1)
本文詳細(xì)講述了使用python操作數(shù)據(jù)庫(kù)所需要了解的知識(shí)以及準(zhǔn)備工作,十分的詳盡,這里推薦給想學(xué)習(xí)python的小伙伴。2014-11-11
Django框架搭建的簡(jiǎn)易圖書信息網(wǎng)站案例
這篇文章主要介紹了Django框架搭建的簡(jiǎn)易圖書信息網(wǎng)站案例,結(jié)合具體實(shí)例形式分析了基于Django框架實(shí)現(xiàn)圖書信息管理網(wǎng)站的具體步驟、相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-05-05
pandas缺失值np.nan, np.isnan, None, pd.isnull,&n
本文主要介紹了pandas缺失值np.nan, np.isnan, None, pd.isnull, pd.isna2024-04-04
python實(shí)現(xiàn)字母閃爍效果的示例代碼
本文主要介紹了python實(shí)現(xiàn)字母閃爍效果的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Python實(shí)現(xiàn)腳本鎖功能(同時(shí)只能執(zhí)行一個(gè)腳本)
這篇文章主要介紹了Python實(shí)現(xiàn)腳本鎖功能(同時(shí)只能執(zhí)行一個(gè)腳本),本文給大家分享了兩種方法,大家可以根據(jù)個(gè)人所需選擇適合自己的方法2017-05-05

