pytorch 实现模型不同层设置不同的学习率方式


Posted in Python onJanuary 06, 2020

在目标检测的模型训练中, 我们通常都会有一个特征提取网络backbone, 例如YOLO使用的darknet SSD使用的VGG-16。

为了达到比较好的训练效果, 往往会加载预训练的backbone模型参数, 然后在此基础上训练检测网络, 并对backbone进行微调, 这时候就需要为backbone设置一个较小的lr。

class net(torch.nn.Module):
  def __init__(self):
    super(net, self).__init__()
    # backbone
    self.backbone = ...
    # detect
    self....

在设置optimizer时, 只需要参数分为两个部分, 并分别给定不同的学习率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 实现模型不同层设置不同的学习率方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python open读写文件实现脚本
Sep 06 Python
零基础学Python(一)Python环境安装
Aug 20 Python
Python函数中定义参数的四种方式
Nov 30 Python
Python函数式编程
Jul 20 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
Flask之flask-script模块使用
Jul 26 Python
ipython和python区别详解
Jun 26 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
浅析Python3 pip换源问题
Jan 06 #Python
通过实例学习Python Excel操作
Jan 06 #Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 #Python
python与mysql数据库交互的实现
Jan 06 #Python
win10系统下python3安装及pip换源和使用教程
Jan 06 #Python
基于python实现文件加密功能
Jan 06 #Python
Pytorch 实现冻结指定卷积层的参数
Jan 06 #Python
You might like
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
Javascript delete 引用类型对象
2013/11/01 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
住院医师规范化培训实施方案
2014/06/12 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
公司周年庆典标语
2014/10/07 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书