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 相关文章推荐
python通过urllib2爬网页上种子下载示例
Feb 24 Python
Python实现将n个点均匀地分布在球面上的方法
Mar 12 Python
Python内置函数dir详解
Apr 14 Python
python判断给定的字符串是否是有效日期的方法
May 13 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
May 30 Python
解决Python使用列表副本的问题
Dec 19 Python
python爬虫之selenium库的安装及使用教程
May 23 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
SMARTY学习手记
2007/01/04 PHP
php 分页类 扩展代码
2009/06/11 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
javascript 函数调用规则
2009/08/26 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
javascript 动态创建表格
2015/01/08 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
Python实现约瑟夫环问题的方法
2016/05/03 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
外国语学院毕业生自荐信
2013/10/28 职场文书
五好家庭事迹材料
2014/12/20 职场文书
谢师宴家长致辞
2015/07/27 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
python迷宫问题深度优先遍历实例
2021/06/20 Python
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android