Paddle 能各层设置不同学习率么?
收藏
最近看“渊佬”的迁移学习项目,找一些资料时发现,可以用“各层设置不同学习率”的方法稳定训练,所以才有此问
0
收藏
请登录后评论
知道paddle可以设置参数是否参加学习(所谓冻结吧)。
要是能设置不同学习率就可以试试上面的思路了
冻结是可以的吧
主要就是冻结了,输出类别会改对吧
额,输出shape?
冻结前面主要进行特征提取的层,从新训练后面的主要进行分类的层,这样吧
如果不能逐层设置学习率保持稳定的话,可不可以试试用移动平滑权重的方法finetune
可以设置不同学习率,我记得paramattr里面有learningrate这一项,你查一查
不,意思是各个层,不同的学习率啊……
谢谢!真得有
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/fluid/param_attr/ParamAttr_cn.html#paramattr
原来可以单独设置学习率的比例
还真能,这能就给个fc设了个学习率比例
import paddle
weight_attr = paddle.ParamAttr(name="weight",
learning_rate=0.5,
regularizer=paddle.regularizer.L2Decay(1.0),
trainable=True)
print(weight_attr.name) # "weight"
paddle.nn.Linear(3, 4, weight_attr=weight_attr)
坑坑厉害
膜拜大佬
为啥你的记忆里这么超群
可以为不同的层设置不同的paramattr啊,难道不是吗?
我是跟大佬现学的~
怎么操作啊?
可以分层设置学习率
就这个 weight_attr 里的参数,可以给模型某层学习率打个折~