婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Pytorch 如何訓練網絡時調整學習率

Pytorch 如何訓練網絡時調整學習率

熱門標簽:電銷機器人的風險 應電話機器人打電話違法嗎 天津電話機器人公司 地圖標注線上如何操作 河北防封卡電銷卡 開封自動外呼系統怎么收費 開封語音外呼系統代理商 手機網頁嵌入地圖標注位置 400電話辦理哪種

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

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

代碼如下:

表示每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 在訓練過程中實現學習率衰減

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

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

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

torch.optim.lr_scheduler.LambdaLR()

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

其中optimizer就是包裝好的優化器, lr_lambda即為操作學習率的函數。

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

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pytorch 優化器(optim)不同參數組,不同學習率設置的操作
  • pytorch實現查看當前學習率
  • 在pytorch中動態調整優化器的學習率方式
  • pytorch 實現模型不同層設置不同的學習率方式

標簽:駐馬店 常州 蘭州 宿遷 江蘇 山東 成都 六盤水

巨人網絡通訊聲明:本文標題《Pytorch 如何訓練網絡時調整學習率》,本文關鍵詞  Pytorch,如何,訓練,網絡,時,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch 如何訓練網絡時調整學習率》相關的同類信息!
  • 本頁收集關于Pytorch 如何訓練網絡時調整學習率的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 哈巴河县| 星子县| 泌阳县| 铜陵市| 柯坪县| 临沭县| 福安市| 漯河市| 邹平县| 徐闻县| 奈曼旗| 宜城市| 耿马| 丹巴县| 龙井市| 肥城市| 保德县| 乌拉特后旗| 望都县| 梨树县| 阿拉尔市| 新蔡县| 明星| 凤冈县| 孝感市| 湘乡市| 延长县| 镇康县| 剑河县| 广水市| 沙坪坝区| 安义县| 海晏县| 黔江区| 平武县| 定陶县| 葫芦岛市| 永仁县| 扶沟县| 宁乡县| 梁平县|