学习率调整策略

https://zhuanlan.zhihu.com/p/524650878

10 ReduceLROnPlateau
当指标停止改进时降低学习率。 一旦学习停滞,模型通常会受益于将学习率降低 2-10 倍。 该调度程序读取一个指标数量,如果“patience”的 epoch 数量没有改善,则学习率会降低。

torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', 
    factor=0.1, patience=10, threshold=0.0001, 
    threshold_mode='rel', cooldown=0, min_lr=0, 
    eps=1e-08, verbose=False)

Args:
 optimizer (Optimizer):优化器
 mode (str):'min'模式检测metric是否不再减小,'max'模式检测metric是否不再增大;Default: 'min'.
 factor (float): r 学习率每次降低多少. new_lr = lr * factor. Default: 0.1.
 patience (int): 容忍网络的性能不提升的次数,高于这个次数就降低学习率. Default: 10.
 threshold (float): 测量新最佳值的阈值,仅关注重大变化. Default: 1e-4.
 threshold_mode (str): 有rel和abs两种阈值计算模式.
     rel规则:
         dynamic_threshold = best * ( 1 + threshold ) in 'max' mode;
         best * ( 1 - threshold ) in `min` mode.
        abs规则:
         dynamic_threshold = best + threshold in `max` mode ;
         best - threshold in `min` mode. 
 cooldown (int): 减少lr后恢复正常操作之前要等待的时期数. Default: 0.
 min_lr (float or list): 学习率的下限. Default: 0.
 eps (float): 适用于lr的最小衰减。 如果新旧lr之间的差异小于eps,则忽略更新。. Default: 1e-8.
 verbose (bool): If `True`, prints a message to stdout for each update. Default: `False`.
posted @ 2025-09-28 16:49  剪水行舟154  阅读(12)  评论(0)    收藏  举报