不同层设置不同学习率

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

(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'])
相关推荐
工程师老罗6 分钟前
反向传播及其用法
pytorch
A9better12 分钟前
嵌入式开发学习日志53——互斥量
stm32·嵌入式硬件·学习
抠头专注python环境配置39 分钟前
基于Pytorch ResNet50 的珍稀野生动物识别系统(Python源码 + PyQt5 + 数据集)
pytorch·python
~kiss~1 小时前
大模型中激活函数、前馈神经网络 (FFN) 的本质
人工智能·深度学习·神经网络
进阶小白猿1 小时前
Java技术八股学习Day30
java·开发语言·学习
近津薪荼1 小时前
优选算法——双指针6(单调性)
c++·学习·算法
Keep_Trying_Go1 小时前
基于GAN的文生图算法详解ControlGAN(Controllable Text-to-Image Generation)
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·文生图
懒羊羊吃辣条2 小时前
电力负荷预测怎么做才不翻车
人工智能·深度学习·机器学习·时间序列
修修修也2 小时前
【无标题】技术欲望是怎样渐进增长的?
学习
whale fall2 小时前
celery -A tool.src.main worker --loglevel=info --queues=worker1_queue & 什么意思
python·学习·apache