Pytorch之finetune使用详解


Posted in Python onJanuary 18, 2020

finetune分为全局finetune和局部finetune。首先介绍一下局部finetune步骤:

1.固定参数

for name, child in model.named_children():
    for param in child.parameters():
      param.requires_grad = False

后,只传入 需要反传的参数,否则会报错

filter(lambda param: param.requires_grad, model.parameters())

2.调低学习率,加快衰减

finetune是在预训练模型上进行微调,学习速率不能太大。

目前不清楚:学习速率降低的幅度可以更快一些。这样以来,在使用step的策略时,stepsize可以更小一些。

直接从原始数据训练的base_lr一般为0.01,微调要比0.01小,置为0.001

要比直接训练的小一些,直接训练的stepsize为100000,finetune的stepsize: 50000

3. 固定bn或取消dropout:

batchnorm会影响训练的效果,随着每个batch,追踪样本的均值和方差。对于固定的网络,bn应该使用全局的数值

def freeze_bn(self):
  for layer in self.modules():
    if isinstance(layer, nn.BatchNorm2d):
      layer.eval()

训练时,model.train()会修改模式,freeze_zn()应该在这里后面

4.过滤参数

训练时,对于优化器,应该只传入需要改变的参数,否则会报错

filter(lambda p: p.requires_grad, model.parameters())

以上这篇Pytorch之finetune使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
python类的继承实例详解
Mar 30 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
对Python3之进程池与回调函数的实例详解
Jan 22 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
Django中create和save方法的不同
Aug 13 Python
Python流程控制 while循环实现解析
Sep 02 Python
Python列表倒序输出及其效率详解
Mar 04 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
python中如何写类
Jun 29 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
pytorch 修改预训练model实例
Jan 18 #Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 #Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 #Python
Python实现点云投影到平面显示
Jan 18 #Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 #Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 #Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 #Python
You might like
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
JS动画效果代码3
2008/04/03 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JSONP之我见
2015/03/24 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Django自定义分页与bootstrap分页结合
2021/02/22 Python
基于pip install django失败时的解决方法
2018/06/12 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
wxPython实现绘图小例子
2019/11/19 Python
提升python处理速度原理及方法实例
2019/12/25 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
毕业求职自荐信格式是什么
2013/11/19 职场文书
中专毕业生的自我鉴定
2013/12/01 职场文书
初中新生军训方案
2014/05/13 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android