模型finetune
正则化方法
Hook函数
tensorboard可视化
学习率调整策略
1. 为什么要调整学习率?
可以先快后慢,根据某种学习率调整策略,在适当的时候更改学习率,使训练过程收敛更快,训练效果更好。
学习率调整策略的函数都继承于_LRScheduler这个基类。
主要属性:
- optimizer:关联的优化器
- last_epoch:记录epoch数
- base_lrs:记录初始学习率
主要方法:
- step():更新下一个epoch的学习率(一次epoch运行一次step函数以更新学习率;在一次epoch以内,学习率不应该改变)
- get_lr():虚函数(需要子类重写),计算下一个epoch的学习率
1 | >>> scheduler = ... |
优化器
1. optimizer的属性
1 | class Optimizer(object): |
- defaults:优化器超参数(字典:包含’lr’, 'momentum’等等关于优化器的超参数)
- state:参数的缓存,如momentum的缓存
- params_groups:管理的参数组(params_groups是一个list,list内有字典;字典内有一组参数,以及这一组参数对应的超参数设置)
- _step_count:记录更新次数,学习率调整中使用