pytorch 迁移学习[摘自官网]

迁移学习包含两种:微调和特征提取器。

微调:对整个网络进行训练,更新所有参数

特征提取器:只对最后的输出层训练,其他层的权重保持不变

当然,二者的共性就是需要加载训练好的权重,比如在ImageNet上训练过的vgg,resnet等等。

那么,不管是微调还是特征提取器,大致都要遵从四个步骤。

  1. 初始化预训练的模型,即将预训练的权重加载进来
  2. 将最后的输出层维度改为我们期望的维度,从ImageNet预训练好的输出维度为1000,要根据需求进行更改
  3. 定义需要优化的参数,这里是微调和特征提取器的不同之处
  4. 进行训练