当前位置:网站首页>PyTorch 10. 学习率
PyTorch 10. 学习率
2022-04-23 06:11:00 【DCGJ666】
PyTorch 10. 学习率
scheduler
scheduler:必须关联一个优化器去调整其学习率
class _LRScheduler(object):
def __init__(self, optimizer, last_epoch=-1):
pass
def get_lr(self):
return [base_lr * self.gamma ** (self.last_epoch//self.step_size) for base_lr in self.base_lrs]
def step(self):
if epoch is None:
epoch = self.last_epoch + 1
self.last_epoch = epoch
for param_group, lr in zip(self.optimizer.param_groups, self.get_lr()):
param_group['lr'] = lr
optimizer:关联的优化器
last_epoch: 记录epoch数
base_lrs: 记录初始学习率
主要方法:
step():更新下一个epoch的学习率
get_lr(): 计算下一个epoch的学习率
StepLR
lr_scheduler.StepLR(optimizer, step_size, gamma=0.1,last_epoch=-1)
功能:等间隔调整学习率
主要参数:
step_size:调整间隔数
gamma:调整系数
调整方式: lr = lr * gamma

MultiStepLR
lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1, last_epoch=-1)
功能:按给定间隔调整学习率
主要参数:
milestones:设定调整时刻数 ,milestones = [50, 125, 160]
gamma: 调整系数
调整方式: lr = lr *gamma

ExponentialLR
lr_scheduler.ExponentialLR(optimizer, gamma, last-epoch=-1)
功能:按指数衰减调整学习率
主要参数:
gamma:指数的底

CosineAnnealingLR
lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0, last_epoch=-1)
功能:余弦周期调整学习率
主要参数:
T_max: 下降周期
eta_min: 学习率下限
调整方式:
l r t = l r m i n + 1 2 ( l r m a x − l r m i n ) ( 1 + c o s ( T c u r T m a x π ) ) lr_t = lr_{min}+\frac{1}{2}(lr_{max}-lr_{min})(1+cos(\frac{T_{cur}}{T_{max}}\pi)) lrt=lrmin+21(lrmax−lrmin)(1+cos(TmaxTcurπ))

ReduceLRonPlateau
lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel',cooldown=0, min_lr=0, eps=1e-08)
功能:监控指标,当指标不再变化则调整
主要参数:
mode: min/max 两种模式
factor: 调整系数
patience: “耐心”,接受几次不变化
cooldown: “冷却时间”,停止监控一段时间
verbose: 是否打印日志
min_lr: 学习率下限
eps: 学习率衰减最小值
版权声明
本文为[DCGJ666]所创,转载请带上原文链接,感谢
https://blog.csdn.net/DCGJ666/article/details/121589443
边栏推荐
- C# EF mysql更新datetime字段报错Modifying a column with the ‘Identity‘ pattern is not supported
- PyMySQL连接数据库
- Chapter 4 pytoch data processing toolbox
- 【点云系列】点云隐式表达相关论文概要
- Android exposed components - ignored component security
- 【动态规划】三角形最小路径和
- 三子棋小游戏
- 树莓派:双色LED灯实验
- 【2021年新书推荐】Professional Azure SQL Managed Database Administration
- How to standardize multidimensional matrix (based on numpy)
猜你喜欢
![[2021 book recommendation] learn winui 3.0](/img/1c/ca7e05946613e9eb2b8c24d121c2e1.png)
[2021 book recommendation] learn winui 3.0

第1章 NumPy基础

1.1 PyTorch和神经网络

Easyui combobox 判断输入项是否存在于下拉列表中

第2章 Pytorch基础2

Component based learning (3) path and group annotations in arouter

第5 章 机器学习基础

Visual studio 2019 installation and use

Gee configuring local development environment

Google AdMob advertising learning
随机推荐
Mysql database installation and configuration details
【点云系列】Learning Representations and Generative Models for 3D pointclouds
DCMTK(DCM4CHE)与DICOOGLE协同工作
【点云系列】PnP-3D: A Plug-and-Play for 3D Point Clouds
torch_ Geometric learning 1, messagepassing
MySQL notes 2_ data sheet
1.1 PyTorch和神经网络
Data class of kotlin journey
ThreadLocal,看我就够了!
Use originpro express for free
What did you do during the internship
【點雲系列】SG-GAN: Adversarial Self-Attention GCN for Point Cloud Topological Parts Generation
[point cloud series] a rotation invariant framework for deep point cloud analysis
Cancel remote dependency and use local dependency
Chapter 1 numpy Foundation
【2021年新书推荐】Professional Azure SQL Managed Database Administration
PyTorch 模型剪枝实例教程三、多参数与全局剪枝
图像分类白盒对抗攻击技术总结
xcode 编译速度慢的解决办法
读书小记——Activity