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#