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
训练器指定了如何训练一个网络。
训练器主要由两组参数定义。第一组确定了网络训练的样本数量(epochs,num_batches_per_epoch),第二组指定了梯度更新的方式(learning_rate,clip_gradient 和 weight_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”, ... ) ... ]