本文简要介绍python语言中 torch.optim.lr_scheduler.ReduceLROnPlateau
的用法。
用法:
class 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)
optimizer(Optimizer) -包装优化器。
mode(str) -
min
、max
之一。min
模式下,当监控数量停止减少时,lr会减少;在max
模式下,当监控的数量停止增加时,它将减少。默认值:‘min’。factor(float) -学习率降低的因子。 new_lr = lr * 因子。默认值:0.1。
patience(int) -没有改善的时期数,之后学习率将降低。例如,如果
patience = 2
,那么我们将忽略前 2 个没有改善的 epoch,并且只有在第 3 个 epoch 之后损失仍然没有改善时才会降低 LR。默认值:10。threshold(float) -衡量新最佳值的阈值,仅关注重大变化。默认值:1e-4。
threshold_mode(str) -
rel
、abs
之一。在rel
模式下,dynamic_threshold = ‘max’ 模式下的最佳 * ( 1 + 阈值 ) 或min
模式下的最佳 * ( 1 - 阈值 )。在abs
模式下,dynamic_threshold =max
模式中的最佳 + 阈值或min
模式中的最佳 - 阈值。默认值:‘rel’。cooldown(int) -lr 减少后恢复正常操作之前要等待的纪元数。默认值:0。
eps(float) -应用于 lr 的最小衰减。如果新旧lr之差小于eps,则忽略更新。默认值:1e-8。
verbose(bool) -如果
True
,每次更新都会向标准输出打印一条消息。默认值:False
。
当指标停止改进时降低学习率。一旦学习停滞,模型通常会受益于将学习率降低 2-10 倍。该调度程序读取一个指标数量,如果在 ‘patience’ 的 epoch 数量上没有看到任何改进,则学习率会降低。
示例
>>> optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9) >>> scheduler = ReduceLROnPlateau(optimizer, 'min') >>> for epoch in range(10): >>> train(...) >>> val_loss = validate(...) >>> # Note that step should be called after validate() >>> scheduler.step(val_loss)
参数:
相关用法
- Python PyTorch ReflectionPad1d用法及代码示例
- Python PyTorch RemoteModule用法及代码示例
- Python PyTorch ReplicationPad1d用法及代码示例
- Python PyTorch Resample用法及代码示例
- Python PyTorch ReplicationPad3d用法及代码示例
- Python PyTorch ReflectionPad2d用法及代码示例
- Python PyTorch RelaxedOneHotCategorical用法及代码示例
- Python PyTorch RendezvousHandler.shutdown用法及代码示例
- Python PyTorch ReLU用法及代码示例
- Python PyTorch ReLU6用法及代码示例
- Python PyTorch ReplicationPad2d用法及代码示例
- Python PyTorch ReflectionPad3d用法及代码示例
- Python PyTorch RelaxedBernoulli用法及代码示例
- Python PyTorch RNNTLoss用法及代码示例
- Python PyTorch RRef.rpc_sync用法及代码示例
- Python PyTorch RReLU用法及代码示例
- Python PyTorch RRef.backward用法及代码示例
- Python PyTorch Rows2Columnar用法及代码示例
- Python PyTorch RandomRecDataset用法及代码示例
- Python PyTorch RandomApply用法及代码示例
- Python PyTorch RRef.remote用法及代码示例
- Python PyTorch RarArchiveLoader用法及代码示例
- Python PyTorch RandomErasing用法及代码示例
- Python PyTorch RNN用法及代码示例
- Python PyTorch RNNCell用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.optim.lr_scheduler.ReduceLROnPlateau。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。