迁移学习及模型参数冻结

迁移学习基础入门篇

  • 前言
  • 模型迁移学习

前言

面试的时候被问了一个问题,当时没想出来。看完这个,才知道,哦,原来。。。
问题是:什么时候需要把叶子节点固定住?
我们带着这个问题去看迁移学习。

模型迁移学习

迁移学习一个最大的作用,就是节省训练时间,因为一些大的网络训练是很费功夫的,而别人已经训练好,使得它能提取多种类别的信息了。所以只需要再进行微调学习就能得到小样本任务的训练网络。
一般而言模型的微调任务步骤如下:
1.获取预训练模型参数
2.加载模型(load.state dict)
3.修改输出层

训练方法:
1.固定预训练参数(request.grad=False;lr = 0)

是不是有种似曾相似的感觉,没错,前言里面的那个问题,在这就是答案

2.Features Extractor较小学习率( params group )

因为我不是太会在paddle里用动态图去加载预训练模型,这里就放一个别人用pytorch实现的代码 学习笔记|Pytorch使用教程28(模型finetune)

你可能感兴趣的:(基于深度学习的图像识别,深度学习)