循环网络#
- class pytorch_forecasting.models.rnn._rnn.RecurrentNetwork(cell_type: str = 'LSTM', hidden_size: int = 10, rnn_layers: int = 2, dropout: float = 0.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: Dict[str, ndarray] | None = None, x_reals: List[str] | None = None, x_categoricals: List[str] | None = None, output_size: int | List[int] = 1, target: str | List[str] = None, target_lags: Dict[str, List[int]] | None = None, loss: 多视角指标 = None, logging_metrics: ModuleList = None, **kwargs)[来源]#
基础:
AutoRegressiveBaseModelWithCovariates
递归网络。
简单的 LSTM 或 GRU 层后接输出层
- Parameters:
cell_type (str, optional) – 循环单元类型 [“LSTM”, “GRU”]。默认为 “LSTM”。
hidden_size (int, 可选) – 隐藏递归大小 - 最重要的超参数之一,与
rnn_layers
一起使用。默认为10。rnn_layers (int, optional) – RNN 层数 - 重要的超参数。默认为 2。
dropout (float, 可选) – RNN层中的丢弃。默认为0.1。
static_categoricals – 静态分类变量的位置整数
static_reals – 静态连续变量的位置的整数
time_varying_categoricals_encoder – 编码器的分类变量的位置的整数
time_varying_categoricals_decoder – 解码器中分类变量的位置的整数
time_varying_reals_encoder – 编码器的连续变量位置的整数
time_varying_reals_decoder – 解码器中连续变量的位置的整数
categorical_groups – 字典,其中值是分类变量的列表,这些变量共同形成一个新的分类变量,该变量是字典中的键
x_reals – 传递给前向函数的张量中连续变量的顺序
x_categoricals – 传递给前向函数的张量中的分类变量的顺序
embedding_sizes – 字典,将(字符串)索引映射到分类类的数量和嵌入大小的元组
embedding_paddings – 嵌入的索引列表,负责将零的嵌入转化为零向量
embedding_labels – 字典,将(字符串)索引映射到分类标签的列表
output_size (Union[int, List[int]], optional) – 输出的数量(例如,QuantileLoss 的分位数数量和一个目标或输出大小列表)。
target (str, 可选) – 目标变量或目标变量列表。默认为 None。
target_lags (Dict[str, Dict[str, int]]) – 目标名称到时间步列表的字典,表示变量应滞后的时间步。 滞后可以用来向模型指示季节性。如果你知道数据的季节性, 至少添加具有相应滞后的目标变量以改善性能。 默认情况下没有滞后,即一个空字典。
损失 (MultiHorizonMetric, 可选) – 损失:用于比较预测值和目标值的损失函数。
logging_metrics (nn.ModuleList, 可选) – 训练期间记录的指标。默认为 nn.ModuleList([SMAPE(), MAE(), RMSE(), MAPE(), MASE()]).
方法
construct_input_vector
(x_cat, x_cont[, ...])将输入向量创建到RNN网络中
decode
(输入向量, 目标缩放, ...[, ...])将RNN的隐藏状态解码为预测。
decode_all
(x, hidden_state[, lengths])encode
(x)将序列编码为隐状态
forward
(x[, n_samples])前馈网络
from_dataset
(数据集[, ...])从数据集中创建模型。
- construct_input_vector(x_cat: Tensor, x_cont: Tensor, one_off_target: Tensor = None) Tensor [来源]#
将输入向量创建到RNN网络中
- Parameters:
one_off_target – 要插入到目标的第一个位置的张量。如果为 None(默认值),则移除第一个时间步长。