Samformer#

class pytorch_forecasting.models.samformer._samformer_v2.Samformer(loss: Module, hidden_size: int, use_revin: bool, out_channels: int | list[int] | None = 1, persistence_weight: float = 0.0, logging_metrics: list[Module] | None = None, optimizer: Optimizer | str | None = 'adam', optimizer_params: dict | None = None, lr_scheduler: str | None = None, lr_scheduler_params: dict | None = None, metadata: dict | None = None, **kwargs)[source]#

Bases: BaseModel

Samformer: Unlocking the Potential of Transformers in Time Series Forecasting with Sharpness-Aware Minimization and Channel-Wise Attention.

Parameters:
  • out_channels (int, optional) – Number of variables to be predicted. Default is 1.

  • hidden_size (int, optional) – First embedding size of the model (‘r’ in the paper). Default is 512.

  • use_revin (bool, optional) – Whether to use Reverse Instance Normalization. Default is True.

  • persistence_weight (float, optional) – Weight for persistence baseline. Default is 0.0.

Methods

forward(x)

Forward pass of the model.

forward(x: dict[str, Tensor]) dict[str, Tensor][source]#

Forward pass of the model.

Parameters:

x (dict[str, torch.Tensor]) – Input data containing past and future sequences.

Returns:

Output predictions.

Return type:

dict[str, torch.Tensor]