gluonts.mx.trainer.learning_rate_scheduler 模块#
- 类 gluonts.mx.trainer.learning_rate_scheduler.LearningRateReduction(objective: typing_extensions.Literal[min, max], patience: int, base_lr: float = 0.01, decay_factor: float = 0.5, min_lr: float = 0.0)[source]#
- 基类: - gluonts.mx.trainer.callback.Callback- 此回调(Callback)根据要优化的验证指标(最大化或最小化)的值来降低学习率。通过调用调度器上的 step 方法提供此类指标的值。必须提供 patience 参数,并且如果在 patience 次指标观测之前没有改进,调度器将降低学习率。 - 示例 - patience = 0:无论指标值如何,学习率将在每次调用 step 时降低 - patience = 1:一旦使用没有比遇到的最佳值更好的指标值调用 step,学习率就会降低 - patience = 10:如果在连续 10 次调用 step 中没有记录到指标改进,则学习率降低 - 参数
- objective – 字符串,可以是 “min” 或 “max”。 
- patience – 在降低学习率之前观察的耐心次数,非负整数。 
- base_lr – 要使用的初始学习率。 
- decay_factor – 降低学习率的因子(0 到 1 之间)。 
- min_lr – 学习率的下限,学习率永远不会低于 min_lr。 
 
 - on_epoch_end(epoch_no: int, epoch_loss: float, training_network: mxnet.gluon.block.HybridBlock, trainer: mxnet.gluon.trainer.Trainer, best_epoch_info: Dict[str, Any], ctx: mxnet.context.Context) bool[source]#
- 每个 epoch 后调用的钩子。与 on_train_epoch_end 和 on_validation_epoch_end 一样,它返回一个布尔值,指示训练是否应继续。此钩子总是在 on_train_epoch_end 和 on_validation_epoch_end 之后调用。无论这些钩子的返回值如何,它都会被调用。 - 参数
- epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。 
- epoch_loss – 如果提供了验证数据,则为上次 epoch 中记录的验证损失。否则为训练损失。 
- training_network – 正在训练的网络。 
- trainer – 正在运行训练的训练器。 
- best_epoch_info – 关于最佳 epoch 的聚合信息。包含 params_path、epoch_no 和 score 键。如果提供了验证数据,score 是最佳验证损失,否则是最佳训练损失。 
- ctx – 使用的 MXNet 上下文。 
 
- 返回值
- 一个布尔值,指示训练是否应该继续。默认为 True。 
- 返回类型
- bool 
 
 
- 类 gluonts.mx.trainer.learning_rate_scheduler.Max(best: float = - inf)[source]#
- 基类: - gluonts.mx.trainer.learning_rate_scheduler.Objective- best: float = -inf#
 
- 类 gluonts.mx.trainer.learning_rate_scheduler.MetricAttentiveScheduler(patience: gluonts.mx.trainer.learning_rate_scheduler.Patience, learning_rate: float = 0.01, decay_factor: float = 0.5, min_learning_rate: float = 0.0, max_num_decays: Optional[int] = None)[source]#
- 基类: - object- 此调度器根据要优化的验证指标(最大化或最小化)的值来降低学习率。通过调用调度器上的 step 方法提供此类指标的值。必须提供 patience 参数,并且如果在 patience 次指标观测之前没有改进,调度器将降低学习率。 - 示例 - patience = 0:无论指标值如何,学习率将在每次调用 step 时降低 - patience = 1:一旦使用没有比遇到的最佳值更好的指标值调用 step,学习率就会降低 - patience = 10:如果在连续 10 次调用 step 中没有记录到指标改进,则学习率降低 - 参数
- objective – 字符串,可以是 “min” 或 “max” 
- patience (gluonts.mx.trainer.learning_rate_scheduler.Patience) – 在降低学习率之前观察的耐心次数,非负整数。 
- base_lr – 要使用的初始学习率。 
- decay_factor (float) – 降低学习率的因子(0 到 1 之间)。 
- min_learning_rate (float) – 学习率的下限,学习率永远不会低于 min_learning_rate。 
 
 - decay_factor: float = 0.5#
 - learning_rate: float = 0.01#
 - max_num_decays: Optional[int] = None#
 - min_learning_rate: float = 0.0#
 
- 类 gluonts.mx.trainer.learning_rate_scheduler.Min(best: float = inf)[source]#
- 基类: - gluonts.mx.trainer.learning_rate_scheduler.Objective- best: float = inf#
 
- 类 gluonts.mx.trainer.learning_rate_scheduler.Objective(best: float)[source]#
- 基类: - object- best: float#
 - 静态方法 from_str(s: typing_extensions.Literal[min, max]) gluonts.mx.trainer.learning_rate_scheduler.Objective[source]#
 
- 类 gluonts.mx.trainer.learning_rate_scheduler.Patience(patience: int, objective: gluonts.mx.trainer.learning_rate_scheduler.Objective)[source]#
- 基类: - object- 简单的耐心追踪器。 - 给定一个 Objective,它将检查指标是否已改进并更新其耐心计数。一个更好的值会将耐心计数重置为零。 - 此外,在耐心超过后,需要显式调用 - reset(),否则在尝试调用 step 时会引发 RuntimError。- Patience通过- num_resets跟踪- reset的调用次数。- current_patience: int = 0#
 - exceeded: bool = False#
 - num_resets: int = 0#
 - patience: int#