gluonts.mx.trainer 包#

class gluonts.mx.trainer.Trainer(ctx: Optional[mxnet.context.Context] = None, epochs: int = 100, num_batches_per_epoch: int = 50, learning_rate: float = 0.001, clip_gradient: float = 10.0, weight_decay: float = 1e-08, init: Union[str, mxnet.initializer.Initializer] = 'xavier', hybridize: bool = True, callbacks: Optional[List[gluonts.mx.trainer.callback.Callback]] = None, add_default_callbacks: bool = True)[source]#

基类: object

训练器指定了如何训练一个网络。

训练器主要由两组参数定义。第一组确定了网络训练的样本数量(epochsnum_batches_per_epoch),第二组指定了梯度更新的方式(learning_rateclip_gradientweight_decay)。

参数
  • ctx

  • epochs – 网络将训练的轮数(默认值:100)。

  • num_batches_per_epoch – 每轮中的批量数(默认值:50)。

  • learning_rate – 初始学习率(默认值:\(10^{-3}\))。

  • clip_gradient – 梯度的最大值。如果梯度过大,则会进行裁剪(默认值:10)。

  • weight_decay – 权重衰减(或 L2 正则化)系数。通过对大权重施加惩罚来修改目标函数(默认值 \(10^{-8}\))。

  • init – 网络权重的初始化器(默认值:“xavier”)。

  • hybridize – 如果设置为 True,网络将在训练前进行混合编译。

  • callbacks – 控制训练的回调列表,类型为 gluonts.mx.trainer.callback.Callback 的列表。

  • add_default_callbacks – bool 类型,默认值为 True。如果设置为 True,除了 callbacks 参数中指定的回调之外,还会使用 LearningRateReduction 和 ModelAveragingCallbacks。如果您没有自己指定默认回调中的任何一个,才将其设置为 True,否则将出现“重复回调”。默认回调:>>> callbacks = [ ... ModelAveraging(avg_strategy=SelectNBestMean(num_models=1)), ... LearningRateReduction( ... base_lr=1e-3, # learning_rate ... decay_factor=0.5, # learning_rate_decay_factor ... patience=10, # patience ... min_lr=5e-5, # minimum_learning_rate ... objective=”min”, ... ) ... ]

count_model_params(net: mxnet.gluon.block.HybridBlock) int[source]#