gluonts.mx.model.transformer 包#

class gluonts.mx.model.transformer.TransformerEstimator(freq: str, prediction_length: int, context_length: Optional[int] = None, trainer: gluonts.mx.trainer._base.Trainer = gluonts.mx.trainer._base.Trainer(add_default_callbacks=True, callbacks=None, clip_gradient=10.0, ctx=None, epochs=100, hybridize=True, init='xavier', learning_rate=0.001, num_batches_per_epoch=50, weight_decay=1e-08), dropout_rate: float = 0.1, cardinality: Optional[List[int]] = None, embedding_dimension: int =20, distr_output: gluonts.mx.distribution.distribution_output.DistributionOutput = gluonts.mx.distribution.student_t.StudentTOutput(), model_dim: int = 32, inner_ff_dim_scale: int = 4, pre_seq: str = 'dn', post_seq: str = 'drn', act_type: str = 'softrelu', num_heads: int = 8, scaling: bool = True, lags_seq: Optional[List[int]] =None, time_features: Optional[List[Callable[[pandas.core.indexes.period.PeriodIndex], numpy.ndarray]]] =None, use_feat_dynamic_real: bool =False, use_feat_static_cat: bool =False, num_parallel_samples: int =100, train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] =None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] =None, batch_size: int =32)[source]#

基类:gluonts.mx.model.estimator.GluonEstimator

构造一个 Transformer 估计器。

这实现了一个 Transformer 模型,与 [Vaswani2017] 中描述的模型接近。

Vaswani2017

Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems. 2017.

参数
  • freq – 用于训练和预测的数据频率

  • prediction_length (int) – 预测范围的长度

  • context_length – 在计算预测之前,RNN 展开的时间步数(默认:None,此时 context_length = prediction_length)

  • trainer – 要使用的 Trainer 对象(默认:Trainer())

  • dropout_rate – Dropout 正则化参数(默认:0.1)

  • cardinality – 每个分类特征值的数量(默认:[1])

  • embedding_dimension – 分类特征嵌入的维度(所有嵌入使用相同的维度,默认:5)

  • distr_output – 用于评估观测值和采样预测的分布(默认:StudentTOutput())

  • model_dim – Transformer 网络的维度,即输入的嵌入维度(默认:32)

  • inner_ff_dim_scale – Transformer 前馈网络内部隐藏层的维度缩放(默认:4)

  • pre_seq – 定义主要 Transformer 网络之前处理块操作的序列。可用操作:“d”代表 dropout,“r”代表残差连接,“n”代表归一化(默认:“dn”)

  • post_seq – 定义主要 Transformer 网络内部和之后处理块操作的序列。可用操作:“d”代表 dropout,“r”代表残差连接,“n”代表归一化(默认:“drn”)。

  • act_type – Transformer 网络的激活类型(默认:“softrelu”)

  • num_heads – 多头注意力机制中的头数(默认:8)

  • scaling – 是否自动缩放目标值(默认:true)

  • lags_seq – 用作 RNN 输入的滞后目标值的索引(默认:None,此时将根据 freq 自动确定)

  • time_features – 用作 RNN 输入的时间特征(默认:None,此时将根据 freq 自动确定)

  • num_parallel_samples – 每条时间序列的评估样本数,用于增加推断期间的并行性。这是一个模型优化,不会影响准确性(默认:100)

  • train_sampler – 控制训练期间的窗口采样。

  • validation_sampler – 控制验证期间的窗口采样。

  • batch_size – 训练和预测中使用的批量大小。

create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: mxnet.gluon.block.HybridBlock) gluonts.model.predictor.Predictor[source]#

创建并返回一个预测器对象。

参数
  • transformation – 在数据输入模型之前要应用的数据转换。

  • module – 训练好的 HybridBlock 对象。

返回

一个包装了用于推断的 HybridBlock 的预测器。

返回类型

Predictor

create_training_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]][source]#

创建一个用于训练的数据加载器。

参数

data – 用于创建数据加载器的数据集。

返回

数据加载器,即数据批次的迭代器。

返回类型

DataLoader

create_training_network() gluonts.mx.model.transformer._network.TransformerTrainingNetwork[source]#

创建并返回用于训练(即计算损失)的网络。

返回

给定输入数据计算损失的网络。

返回类型

HybridBlock

create_transformation() gluonts.transform._base.Transformation[source]#

创建并返回训练和推断所需的数据转换。

返回

在训练和推断时将逐条应用于数据集的数据转换。

返回类型

Transformation

create_validation_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]][source]#

创建一个用于验证的数据加载器。

参数

data – 用于创建数据加载器的数据集。

返回

数据加载器,即数据批次的迭代器。

返回类型

DataLoader

lead_time: int#
prediction_length: int#