人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Pytorch 如何訓練網(wǎng)絡時調整學習率

發(fā)布日期:2022-03-30 16:19 | 文章來源:站長之家

為了得到更好的網(wǎng)絡,學習率通常是要調整的,即剛開始用較大的學習率來加快網(wǎng)絡的訓練,之后為了提高精確度,需要將學習率調低一點。

如圖所示,步長(學習率)太大容易跨過最優(yōu)解。

代碼如下:

表示每20個epoch學習率調整為之前的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'])

補充:Pytorch 在訓練過程中實現(xiàn)學習率衰減

在網(wǎng)絡的訓練過程中,學習率是一個非常重要的超參數(shù),它直接影響了網(wǎng)絡的訓練效果。

但過大的學習率將會導致網(wǎng)絡無法達到局部最小點,使得訓練結果震蕩,準確率無法提升,而過小的學習率將會導致擬合速度過慢,浪費大量的時間和算力。

因此我們希望在訓練之初能夠有較大的學習率加快擬合的速率,之后降低學習率,使得網(wǎng)絡能夠更好的達到局部最小,提高網(wǎng)絡的效率。

torch.optim.lr_scheduler.LambdaLR()

torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=-1)

其中optimizer就是包裝好的優(yōu)化器, lr_lambda即為操作學習率的函數(shù)。

將每個參數(shù)組的學習速率設置為初始的lr乘以一個給定的函數(shù)。

當last_epoch=-1時,將初始lr設置為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) 為學習率衰減期,指幾個epoch衰減一次。gamma為學習率衰減的乘積因子。 默認為0.1 。當last_epoch=-1時,將初始lr設置為lr。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持本站。

國外穩(wěn)定服務器

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部