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各种语言间时间的转化实现代码
Mar 23 Python
Python实现的简单dns查询功能示例
May 24 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
python 反向输出字符串的方法
Jul 16 Python
python多进程控制学习小结
Oct 31 Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 Python
python常用函数与用法示例
Jul 02 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
Python文件操作方法详解
Feb 09 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 Python
Python pip 常用命令汇总
Oct 19 Python
python中not、and和or的优先级与详细用法介绍
Nov 03 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 addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
对numpy中数组元素的统一赋值实例
2018/04/04 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Python绘制动态水球图过程详解
2020/06/03 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
公司应聘自荐书
2014/06/14 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript