不同层设置不同学习率

使用预训练模型时,可能需要将

(1)预训练好的 backbone 的 参数学习率设置为较小值,

(2)而backbone 之外的部分,需要使用较大的学习率。

python 复制代码
from collections import OrderedDict
import torch.nn as nn
import torch.optim as optim

net = nn.Sequential(OrderedDict([
    ("linear1", nn.Linear(10, 20)),
    ("linear2", nn.Linear(20, 30)),
    ("linear3", nn.Linear(30, 40))]))


linear3_params = list(map(id, net.linear3.parameters()))
base_params = filter(lambda p: id(p) not in linear3_params, net.parameters())

optimizer = optim.SGD([
    {'params': base_params},
    {'params': net.linear3.parameters(), 'lr': 0.0005}],
    lr=0.001, momentum=0.9)


print(optimizer)
print(optimizer.param_groups[0]['lr'])
print(optimizer.param_groups[1]['lr'])
相关推荐
我真的太难了啊17 分钟前
学习QT第二天
开发语言·qt·学习
醉陌离1 小时前
渗透测试学习笔记——shodan(3)
笔记·学习
流着口水看上帝2 小时前
JavaScript学习路线
学习
Ting丶丶2 小时前
安卓应用安装过程学习
android·学习·安全·web安全·网络安全
被猫枕的咸鱼2 小时前
项目学习:仿b站的视频网站项目03-注册功能
学习
sp_fyf_20242 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-05
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
@小博的博客2 小时前
C++初阶学习第十三弹——容器适配器和优先级队列的概念
开发语言·数据结构·c++·学习
钰见梵星2 小时前
深度学习优化算法
人工智能·深度学习·算法
算法给的安全感2 小时前
siamFC算法复现及使用自己的数据集进行测试
深度学习·siamfc
是Winky啊2 小时前
【论文阅读】WGSR
论文阅读·深度学习·计算机视觉·超分辨率重建