TiDEModel#
- class pytorch_forecasting.models.tide._tide.TiDEModel(output_chunk_length: int, input_chunk_length: int, num_encoder_layers: int = 2, num_decoder_layers: int = 2, decoder_output_dim: int = 16, hidden_size: int = 128, temporal_width_future: int = 4, temporal_hidden_size_future: int = 32, temporal_decoder_hidden: int = 32, use_layer_norm: bool = False, dropout: float = 0.1, output_size: int | List[int] = 1, static_categoricals: List[str] | None = None, static_reals: List[str] | None = None, time_varying_categoricals_encoder: List[str] | None = None, time_varying_categoricals_decoder: List[str] | None = None, categorical_groups: Dict[str, List[str]] | None = None, time_varying_reals_encoder: List[str] | None = None, time_varying_reals_decoder: List[str] | None = None, embedding_sizes: Dict[str, Tuple[int, int]] | None = None, embedding_paddings: List[str] | None = None, embedding_labels: List[str] | None = None, x_reals: List[str] | None = None, x_categoricals: List[str] | None = None, logging_metrics: ModuleList = None, **kwargs)[来源]#
-
TiDE模型的实现。
TiDE 与 Transformers 有相似之处 (implemented in :class:TransformerModel),但旨在通过利用基于 MLP 的编码器-解码器 架构而不使用注意力机制,以减少计算需求并提供更好的性能。
该模型支持未来协变量(在预测时间之后已知的 output_chunk_length 点)和静态协变量。
编码器和解码器是使用残差块构建的。编码器和解码器中的残差块数量可以分别通过num_encoder_layers和num_decoder_layers进行指定。残差块中的层宽可以通过hidden_size进行调整,而 temporal 解码器中的层宽可以通过temporal_decoder_hidden进行控制。
- Parameters:
input_chunk_length (int) – 用作模型输入的过去时间步数(每个块)。 这适用于目标序列和未来协变量 (如果模型支持的话)。
output_chunk_length (int) – 内部模型同时预测的时间步数(每个块)。 这还决定了从未来协变量中使用多少未来值作为输入(如果模型支持的话)。
num_encoder_layers (int, default=2) – 编码器中的残差块数量
num_decoder_layers (int, default=2) – 解码器中的残差块数量
decoder_output_dim (int, default=16) – 解码器输出的维度
hidden_size (int, default=128) – 编码器和解码器中隐层的大小。通常在不使用协变量的情况下范围从 32 到 128。
(int) (temporal_decoder_hidden) – 如果设置为0,将跳过特征投影并使用原始特征数据。默认为4。
(int) – 预测。默认值为32。
(int)
(布尔值) (use_layer_norm)
(float) (丢弃率)
output_size (联合[整数, 列表[整数]]: 在 deduce_default_output_parameters 中作为其必需项包含) – from_dataset 函数。默认为 1。
(列表[字符串]) (embedding_paddings)
(列表[字符串])
(列表[字符串])
(列表[字符串])
(列表[字符串])
(列表[字符串])
(列表[字符串])
(列表[字符串])
(字典[字符串 (categorical_groups) – 第一个整数表示分类类别的数量,第二个表示嵌入的大小
元组[整数 (字典将类别变量映射到整数的元组,其中第一个整数表示类别的数量,第二个表示嵌入大小
int]]) (字典映射分类变量到元组 的 整数) – 其中第一个整数表示分类类别的数量,第二个表示嵌入大小
(字典[字符串
列表[字符串]]) (一起分组的分类变量的字典)
(List[str]) – 填充零的嵌入向量
(字典[str – 可以同时接受多个值(例如:在十月节期间的假期)。它们应该被实现为嵌入袋
列表[字符串]]) – 也可以同时接收多个值(例如,十月节期间的假期)。它们应该被实现为嵌入的集合
(nn.ModuleList[MultiHorizonMetric]) (logging_metrics) – 默认为 nn.ModuleList([SMAPE(), MAE(), RMSE(), MAPE(), MASE()])
**kwargs – 允许可选参数来配置 pytorch_lightning.Module、pytorch_lightning.Trainer 和 pytorch-forecasting 的 :class:BaseModelWithCovariates。
注意 – 该模型支持未来协变量和静态协变量。
方法
forward(x)网络的前向传递。
from_dataset(数据集, **kwargs)方便的函数,用于从 :py:class`~pytorch_forecasting.data.timeseries.TimeSeriesDataSet` 创建网络。
- forward(x: Dict[str, Tensor]) Dict[str, Tensor][来源]#
网络的前向传递。
- Parameters:
x (字典[字符串, torch.Tensor]) – 来自数据加载器的输入,由 :py:class:~pytorch_forecasting.data.timeseries.TimeSeriesDataSet生成。
- Returns:
模型的输出
- Return type:
字典[str, torch.Tensor]
- classmethod from_dataset(dataset: 时间序列数据集, **kwargs)[来源]#
一个方便的函数,用于从:py:class`~pytorch_forecasting.data.timeseries.TimeSeriesDataSet`创建网络。
- Parameters:
数据集 (TimeSeriesDataSet) – 唯一预测变量是目标的 数据集。
**kwargs – 额外的参数,将被传递给 __init__ 方法。
- Returns:
TiDE
- property decoder_covariate_size: int#
解码器协变量大小。
- Returns:
解码器使用的时间依赖协变量的大小
- Return type:
整数
- property encoder_covariate_size: int#
编码器协变量大小。
- Returns:
编码器使用的时间依赖协变量的大小
- Return type:
整数
- property static_size: int#
静态协变量的大小。
- Returns:
静态协变量的大小
- Return type:
整数