gluonts.mx.trainer.callback 模块#
- class gluonts.mx.trainer.callback.Callback[源代码]#
基类:
object
抽象回调基类。
回调控制 GluonTS 训练器的训练。要编写自定义回调,可以继承 Callback 并覆盖一个或多个钩子方法。如果返回 False,布尔型返回值的钩子方法将停止训练。
- 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 [源代码]#
在每个 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
- on_network_initializing_end(training_network: mxnet.gluon.block.HybridBlock) None [源代码]#
在训练之前,训练网络初始化完成后调用的钩子。这是网络传入的第一个钩子。
- 参数
training_network – 正在训练的网络。
- on_train_batch_end(training_network: mxnet.gluon.block.HybridBlock) bool [源代码]#
在每个训练 batch 结束后调用的钩子。
- 参数
training_network – 正在训练的网络。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_train_end(training_network: mxnet.gluon.block.HybridBlock, temporary_dir: str, ctx: Optional[mxnet.context.Context] = None) None [源代码]#
在训练结束后调用的钩子。这是最后调用的钩子。
- 参数
training_network – 已训练的网络。
temporary_dir – 在训练过程中记录模型参数的目录。
ctx – 使用的 MXNet 上下文。
- on_train_epoch_end(epoch_no: int, epoch_loss: float, training_network: mxnet.gluon.block.HybridBlock, trainer: mxnet.gluon.trainer.Trainer) bool [源代码]#
在每个训练 epoch 结束后调用的钩子。此方法返回一个布尔值,表示训练是否应继续。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_train_epoch_start(training_network: mxnet.gluon.block.HybridBlock) None [源代码]#
在每个训练 epoch 开始之前调用的钩子。
- 参数
training_network – 正在训练的网络。
- on_train_start(max_epochs: int) None [源代码]#
在训练开始之前调用的钩子。这是第一个调用的钩子。
- 参数
max_epochs – 训练运行的最大 epoch 数。如果其他回调钩子提前停止训练,实际的 epoch 数可能会更少。
- on_validation_batch_end(training_network: mxnet.gluon.block.HybridBlock) bool [源代码]#
在每个验证 batch 结束后调用的钩子。如果在训练期间没有可用的验证数据,则永远不会调用此钩子。
- 参数
training_network – 正在训练的网络。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_validation_epoch_end(epoch_no: int, epoch_loss: float, training_network: mxnet.gluon.block.HybridBlock, trainer: mxnet.gluon.trainer.Trainer) bool [源代码]#
在每个验证 epoch 结束后调用的钩子。类似于 on_train_epoch_end,此方法返回一个布尔值,表示训练是否应继续。请注意,在单个 epoch 中,它总是在 on_train_epoch_end 之后调用。如果 on_train_epoch_end 返回 False,则不会调用此方法。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的验证损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- class gluonts.mx.trainer.callback.CallbackList(callbacks: List[gluonts.mx.trainer.callback.Callback])[源代码]#
基类:
gluonts.mx.trainer.callback.Callback
用于将回调列表链接到一个 Callback。布尔型钩子方法使用 AND 进行逻辑连接,这意味着如果至少有一个回调方法返回 False,则训练将停止。
- callbacks#
一个 gluonts.mx.trainer.callback.Callback 列表。
- on_epoch_end(*args: Any, **kwargs: Any) bool [源代码]#
在每个 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
- on_network_initializing_end(*args: Any, **kwargs: Any) None [源代码]#
在训练之前,训练网络初始化完成后调用的钩子。这是网络传入的第一个钩子。
- 参数
training_network – 正在训练的网络。
- on_train_batch_end(*args: Any, **kwargs: Any) bool [源代码]#
在每个训练 batch 结束后调用的钩子。
- 参数
training_network – 正在训练的网络。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_train_end(*args: Any, **kwargs: Any) None [源代码]#
在训练结束后调用的钩子。这是最后调用的钩子。
- 参数
training_network – 已训练的网络。
temporary_dir – 在训练过程中记录模型参数的目录。
ctx – 使用的 MXNet 上下文。
- on_train_epoch_end(*args: Any, **kwargs: Any) bool [源代码]#
在每个训练 epoch 结束后调用的钩子。此方法返回一个布尔值,表示训练是否应继续。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_train_epoch_start(*args: Any, **kwargs: Any) None [源代码]#
在每个训练 epoch 开始之前调用的钩子。
- 参数
training_network – 正在训练的网络。
- on_train_start(*args: Any, **kwargs: Any) None [源代码]#
在训练开始之前调用的钩子。这是第一个调用的钩子。
- 参数
max_epochs – 训练运行的最大 epoch 数。如果其他回调钩子提前停止训练,实际的 epoch 数可能会更少。
- on_validation_batch_end(*args: Any, **kwargs: Any) bool [源代码]#
在每个验证 batch 结束后调用的钩子。如果在训练期间没有可用的验证数据,则永远不会调用此钩子。
- 参数
training_network – 正在训练的网络。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_validation_epoch_end(*args: Any, **kwargs: Any) bool [源代码]#
在每个验证 epoch 结束后调用的钩子。类似于 on_train_epoch_end,此方法返回一个布尔值,表示训练是否应继续。请注意,在单个 epoch 中,它总是在 on_train_epoch_end 之后调用。如果 on_train_epoch_end 返回 False,则不会调用此方法。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的验证损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- class gluonts.mx.trainer.callback.TerminateOnNaN[源代码]#
基类:
gluonts.mx.trainer.callback.Callback
- on_train_epoch_end(epoch_no: int, epoch_loss: float, training_network: mxnet.gluon.block.HybridBlock, trainer: mxnet.gluon.trainer.Trainer) bool [源代码]#
在每个训练 epoch 结束后调用的钩子。此方法返回一个布尔值,表示训练是否应继续。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- class gluonts.mx.trainer.callback.TrainingHistory[源代码]#
基类:
gluonts.mx.trainer.callback.Callback
- on_train_epoch_end(epoch_no: int, epoch_loss: float, training_network: mxnet.gluon.block.HybridBlock, trainer: mxnet.gluon.trainer.Trainer) bool [源代码]#
在每个训练 epoch 结束后调用的钩子。此方法返回一个布尔值,表示训练是否应继续。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_validation_epoch_end(epoch_no: int, epoch_loss: float, training_network: mxnet.gluon.block.HybridBlock, trainer: mxnet.gluon.trainer.Trainer) bool [源代码]#
在每个验证 epoch 结束后调用的钩子。类似于 on_train_epoch_end,此方法返回一个布尔值,表示训练是否应继续。请注意,在单个 epoch 中,它总是在 on_train_epoch_end 之后调用。如果 on_train_epoch_end 返回 False,则不会调用此方法。
- 参数
epoch_no – 当前 epoch (第一个 epoch 为 epoch_no = 0)。
epoch_loss – 在上一个 epoch 中记录的验证损失。
training_network – 正在训练的网络。
trainer – 正在运行训练的训练器。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- class gluonts.mx.trainer.callback.TrainingTimeLimit(*, time_limit: float, stop_within_epoch: bool = False)[源代码]#
基类:
pydantic.v1.main.BaseModel
,gluonts.mx.trainer.callback.Callback
限制训练所花费的时间。
这对于确保给定模型的训练不超过预算非常有用,例如在进行 AutoML 时。
如果 stop_within_epoch 设置为 True,训练可以在每个 batch 后停止,否则在 epoch 结束后停止。
- 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 [源代码]#
在每个 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
- on_train_batch_end(training_network: mxnet.gluon.block.HybridBlock) bool [源代码]#
在每个训练 batch 结束后调用的钩子。
- 参数
training_network – 正在训练的网络。
- 返回
一个布尔值,表示训练是否应继续。默认为 True。
- 返回类型
bool
- on_train_start(max_epochs: int) None [源代码]#
在训练开始之前调用的钩子。这是第一个调用的钩子。
- 参数
max_epochs – 训练运行的最大 epoch 数。如果其他回调钩子提前停止训练,实际的 epoch 数可能会更少。
- stop_within_epoch: bool#
- time_limit: float#