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 的预测器。
- 返回类型
- 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]#
创建并返回训练和推断所需的数据转换。
- 返回
在训练和推断时将逐条应用于数据集的数据转换。
- 返回类型
- create_validation_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]] [source]#
创建一个用于验证的数据加载器。
- 参数
data – 用于创建数据加载器的数据集。
- 返回
数据加载器,即数据批次的迭代器。
- 返回类型
DataLoader
- lead_time: int#
- prediction_length: int#