欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytorch 實現(xiàn)模型不同層設(shè)置不同的學(xué)習(xí)率方式

 更新時間:2020年01月06日 09:52:43   作者:-wxrui-  
今天小編就為大家分享一篇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)文章

最新評論