paddlets.models.forecasting.dl.scinet
- class SCINetModel(in_chunk_len: int, out_chunk_len: int, skip_chunk_len: int = 0, sampling_stride: int = 1, loss_fn: ~typing.Callable[[...], ~paddle.Tensor] = <function mse_loss>, optimizer_fn: ~typing.Callable[[...], ~paddle.optimizer.optimizer.Optimizer] = <class 'paddle.optimizer.adam.Adam'>, optimizer_params: ~typing.Optional[~typing.Dict[str, ~typing.Any]] = None, eval_metrics: ~typing.Optional[~typing.List[str]] = None, callbacks: ~typing.Optional[~typing.List[~paddlets.models.common.callbacks.callbacks.Callback]] = None, batch_size: int = 8, max_epochs: int = 100, verbose: int = 1, patience: int = 10, seed: ~typing.Union[None, int] = None, num_stack: int = 1, num_level: int = 3, num_decoder_layer: int = 1, concat_len: int = 0, kernel_size: int = 5, dropout_rate: float = 0.5, num_group: int = 1, hidden_size: int = 1)[源代码]
基类:
PaddleBaseModelImpl基于下采样、卷积、交互学习模块的时序预测模型SCINet。参考 SCINet 。
- 参数
in_chunk_len (int) – 模型输入的时间序列长度。
out_chunk_len (int) – 模型输出的序列长度。
skip_chunk_len (int) – 可选变量,输入序列与输出序列之间跳过的序列长度,既不作为特征也不作为预测目标使用,默认值为0。
sampling_stride (int) – 在第i条样本和第i+1条样本之间跨越的时间步数。 具体来说,令 t 为target时序数据的时间索引,t[i] 为第i条样本的起始时间,t[i+1]`为第i+1条样本的起始时间, 则`sampling_stride`代表 `t[i+1] - t[i] 的计算结果,即2条相邻的样本之间相差的时间点的数量。
loss_fn (Callable[..., paddle.Tensor]|None) – 损失函数。
optimizer_fn (Callable[..., Optimizer]) – 优化方法。
optimizer_params (Dict[str, Any], optional) – 优化器参数。
eval_metrics (List[str]|List[Metric], optional) – 模型的评估指标。
callbacks (List[Callback], optional) – 自定义的回调函数。
batch_size (int) – 单个batch的样本数量。
max_epochs (int) – 最大允许的训练epoch数。
verbose (int) – 调试(详细输出)模式。
patience (int) – 在终止训练前允许等待收敛的epoch数量。
seed (int|None) – 全局的随机种子。
num_stack (int) – SCINet中的stack数量。
num_level (int) – SCINet中二叉树的树高。
num_decoder_layer (int) – 解码器层的层数。
concat_len (int) – 每个stack的拼接长度。
kernel_size (int) – Conv1D网络层的kernel值。
dropout_rate (float) – dropout层的丢弃率参数值。
num_group (int) – Conv1D网络层的groups参数值。
hidden_size (int) – SCINet的Interactor模块内部有Conv1D网络层,该参数用于计算Conv1D层的in_channels和out_channels值。