pytorch 實現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式
在目標(biāo)檢測的模型訓(xùn)練中, 我們通常都會有一個特征提取網(wǎng)絡(luò)backbone, 例如YOLO使用的darknet SSD使用的VGG-16。
為了達到比較好的訓(xùn)練效果, 往往會加載預(yù)訓(xùn)練的backbone模型參數(shù), 然后在此基礎(chǔ)上訓(xùn)練檢測網(wǎng)絡(luò), 并對backbone進行微調(diào), 這時候就需要為backbone設(shè)置一個較小的lr。
class net(torch.nn.Module): def __init__(self): super(net, self).__init__() # backbone self.backbone = ... # detect self....
在設(shè)置optimizer時, 只需要參數(shù)分為兩個部分, 并分別給定不同的學(xué)習(xí)率lr。
base_params = list(map(id, net.backbone.parameters())) logits_params = filter(lambda p: id(p) not in base_params, net.parameters()) params = [ {"params": logits_params, "lr": config.lr}, {"params": net.backbone.parameters(), "lr": config.backbone_lr}, ] optimizer = torch.optim.SGD(params, momentum=config.momentum, weight_decay=config.weight_decay)
以上這篇pytorch 實現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python簡單實現(xiàn)子網(wǎng)掩碼轉(zhuǎn)換的方法
這篇文章主要介紹了Python簡單實現(xiàn)子網(wǎng)掩碼轉(zhuǎn)換的方法,涉及Python字符串相關(guān)操作技巧,需要的朋友可以參考下2016-04-04基于python for in if 連著寫與分開寫的區(qū)別說明
這篇文章主要介紹了基于python for in if 連著寫與分開寫的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03詳解設(shè)計模式中的工廠方法模式在Python程序中的運用
這篇文章主要介紹了設(shè)計模式中的工廠方法模式在Python程序中的運用,工廠方法模式主張程序在設(shè)計時要可以根據(jù)不同的條件生成各種類的實例,需要的朋友可以參考下2016-03-03PyTorch模型轉(zhuǎn)TensorRT是怎么實現(xiàn)的?
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著PyTorch模型轉(zhuǎn)TensorRT是怎么實現(xiàn)的展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06python網(wǎng)絡(luò)爬蟲selenium打開多窗口與切換頁面的實現(xiàn)
本文主要介紹了python網(wǎng)絡(luò)爬蟲selenium打開多窗口與切換頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01Python浮點型(float)運算結(jié)果不正確的解決方案
這篇文章主要介紹了Python浮點型(float)運算結(jié)果不正確的解決方案,幫助大家更好的利用python進行運算處理,感興趣的朋友可以了解下2020-09-09在pandas多重索引multiIndex中選定指定索引的行方法
今天小編就為大家分享一篇在pandas多重索引multiIndex中選定指定索引的行方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11