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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
NumPy 如何生成多维数组的方法
Feb 05 Python
python书籍信息爬虫实例
Mar 19 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
神经网络相关之基础概念的讲解
Dec 29 Python
详解python调用cmd命令三种方法
Jul 08 Python
解决django model修改添加字段报错的问题
Nov 18 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
Python reversed反转序列并生成可迭代对象
Oct 22 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 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多用户计数器代码
2007/03/11 PHP
php后门URL的防范
2013/11/12 PHP
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
jQuery 名称冲突的解决方法
2011/04/08 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
详解Web使用webpack构建前端项目
2017/09/23 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
vue观察模式浅析
2018/09/25 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
建筑学推荐信
2013/11/03 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
老乡聚会通知
2015/04/23 职场文书
会议简讯范文
2015/07/20 职场文书
60句有关成长的名言
2019/09/04 职场文书