4.16:优化器和学习率调整策略
发布时间 : 2024-04-22 14:16:35- checkpoint要存的东西如下:但为啥TransENet中还存了loss,查看所有.pt文件
- optimizer中存的参数是啥
选择优化器和设置学习率调整策略的直接实现
那为什么要重写optimizer和scheduler呢,如下所示:
然后在训练的时候调用
当然是因为想要实现更多的功能,比如:
1.在迁移学习时需要冻结部分网络层的参数,
这一句就可以选择只给requires_grad=TRUE的参数设置优化器
2.很多参数希望用更方便的argparse传入,那就需要把可选的优化器、对应的初始化参数、学习策略相关参数等等,用args.*的形式设置为选项。自然需要重新一个函数进行包装。
管理并更新模型中可学习参数的值, 使得模型输出更接近真实标签。
Pytorch里面优化器的基本属性:
优化器里面的基本方法:
在学习学习率调整策略之前,得先学习一个基类_LRScheduler, 因为后面的六种学习率调整策略都是继承于这个类的,所以得先明白这个类的原理:
主要属性:
主要方法:
pytorch的六种学习率调整策略小结一下:
我们需要先知道一个复杂函数中的核心语句,其次是对它进行重写包装的目的。
断点续存可以把所有要存的放进一个字典(eg:pytorch学习笔记中的示例)也可以分别存多个.pt文件(eg:TransENet参考代码)