Pytorch之finetune使用详解
作者:heathhose 发布时间:2021-08-31 20:41:44
标签:Pytorch,finetune
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())
来源:https://blog.csdn.net/lsupermary/article/details/91047651


猜你喜欢
- 大家都知道一些论坛的标题有高亮显示功能,在这里我不讨论也不研究论坛普遍的实现方法,下面是我的实现方法:实现思路:把要高亮显示的标题加上特定标
- Python常见的异常提示及含义对照表如下:异常名称描述BaseException所有异常的基类SystemExit解释器请求退出Keybo
- 把这两个很普遍性的网友比较关心的问题总结回答一下。in和exist的区别从sql编程角度来说,in直观,exists不直观多一个select
- 朴素贝叶斯(Naive Bayes,NB):朴素贝叶斯分类算法是学习效率和分类效果较好的分类器之一。朴素贝叶斯算法一般应用在文本分类,垃圾邮
- 一. ADO.NET的定义ADO.NET来源于COM组件库ADO(即ActiveX Data Objects),是微软公司新一代.NET数据
- 1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chines
- 一、re.compile 函数作用:compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match()
- 实例如下所示:>>> import pandas as pd>>> import numpy as np
- 目录一、Python 异常处理:错误与异常1、什么是错误?2、什么是异常?二、如何使用 Try-Except 处理异常?1、什么是 Try-
- php二维数组排序测试数据 $arr = [
- ASP木马防御: 代码如下:const adTypeBinary=1 dim jpg(1):jpg(0)=CB
- 可以说这个功能,在我理解了前面的“贪吃蛇”之后,实在是与刚开始想象的难度差了好多,当然是这种方式有取巧之嫌,终归是实现了功能,我们来进行分析
- 联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是k
- 目录四种参数仅限关键字参数内省中的函数参数函数注解四种参数Python函数func定义如下:def func(first, *args, s
- 由于 MySQL 5.7 版本的 root 密码是首次启动时随机生成的,并且还要求必须修改后才能使用,所以有了本文:使用 shell 脚本完
- 1.django自定义字段类型,实现非主键字段的自增# -*- encoding: utf-8 -*-from django.db.mode
- 今天在GOOGLE上查图片资料,这一幕真让我纠结啊:使用【向前】【向后】这种说法,就默认了有一个对比坐标,那就是当前显示的4张缩略图。点击【
- Date.prototype.format = function(format){ var o = { "M+" : t
- 啥是JWTJWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端
- 人脸美白原理人脸美白原理说透了,就是一种图像的颜色空间处理,所以我们需要通过颜色空间进行设计。不过,我们先来参考以下PS对于图像美白的处理步