gluonts.torch.model.patch_tst.module 模块#

class gluonts.torch.model.patch_tst.module.PatchTSTModel(prediction_length: int, context_length: int, patch_len: int, stride: int, padding_patch: str, d_model: int, nhead: int, dim_feedforward: int, dropout: float, activation: str, norm_first: bool, num_encoder_layers: int, scaling: str, distr_output=gluonts.torch.distributions.studentT.StudentTOutput(beta=0.0))[源代码]#

实现 PatchTST 模型用于预测的模块,如 https://arxiv.org/abs/2211.14730 中所述,并扩展为概率模型。

参数

prediction_length – 要预测的时间点数。
  • context_length – 模型在预测时间之前考虑的时间步数。

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

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

describe_inputs(batch_size=1) gluonts.model.inputs.InputSpec[源代码]#
forward(past_target: torch.Tensor, past_observed_values: torch.Tensor) Tuple[Tuple[torch.Tensor, ...], torch.Tensor, torch.Tensor][源代码]#

定义每次调用时执行的计算。

所有子类都应重写此方法。

注意

尽管前向传播的实现应在此函数内定义,但之后应调用 Module 实例而不是直接调用此函数,因为前者负责运行已注册的钩子,而后者会静默忽略它们。

loss(past_target: torch.Tensor, past_observed_values: torch.Tensor, future_target: torch.Tensor, future_observed_values: torch.Tensor) torch.Tensor[源代码]#
training: bool#
class gluonts.torch.model.patch_tst.module.SinusoidalPositionalEmbedding(num_positions: int, embedding_dim: int)[源代码]#

基类:torch.nn.modules.sparse.Embedding

此模块生成任意长度的正弦位置嵌入。

embedding_dim: int#
forward(input_ids_shape: torch.Size, past_key_values_length: int = 0) torch.Tensor[源代码]#

input_ids_shape 期望格式为 [bsz x seqlen x …]。

freeze: bool#
max_norm: Optional[float]#
norm_type: float#
num_embeddings: int#
padding_idx: Optional[int]#
scale_grad_by_freq: bool#
sparse: bool#
training: bool#
weight: torch.Tensor#