qumphy.models.itransformer module

File: qumphy/models/itransformer.py Project: 22HLT01 QUMPHY Contact: oskar.pfeffer@ptb.de Gitlab: https://gitlab.com/qumphy Description: code implementation from https://github.com/thuml/Time-Series-Library .

class qumphy.models.itransformer.iTransformer(*args: Any, **kwargs: Any)[source]

Bases: Module

Inverted Transformer model for time-series tasks. Paper link: https://arxiv.org/abs/2310.06625

anomaly_detection(x_enc)[source]

Run anomaly detection with the iTransformer model.

Parameters:

x_enc (torch.Tensor) – Encoder input tensor of shape (batch_size, seq_len, num_features).

Returns:

Reconstructed output tensor of shape (batch_size, seq_len, num_features).

Return type:

torch.Tensor

classification(x_enc)[source]

Run classification with the iTransformer model.

Parameters:

x_enc (torch.Tensor) – Input tensor of shape (batch_size, channels, seq_len).

Returns:

Classification logits of shape (batch_size, num_class).

Return type:

torch.Tensor

forecast(x_enc, x_mark_enc, x_dec, x_mark_dec)[source]

Run forecasting with the iTransformer model.

Parameters:
  • x_enc (torch.Tensor) – Encoder input tensor of shape (batch_size, seq_len, num_features).

  • x_mark_enc (torch.Tensor) – Encoder time feature tensor.

  • x_dec (torch.Tensor) – Decoder input tensor. This parameter is kept for compatibility.

  • x_mark_dec (torch.Tensor) – Decoder time feature tensor. This parameter is kept for compatibility.

Returns:

Forecast output tensor of shape (batch_size, pred_len, num_features).

Return type:

torch.Tensor

forward(x_enc, x_mark_enc=None, x_dec=None, x_mark_dec=None, mask=None)[source]

Run a forward pass for the selected task.

Parameters:
  • x_enc (torch.Tensor) – Encoder input tensor.

  • x_mark_enc (torch.Tensor) – Encoder time feature tensor.

  • x_dec (torch.Tensor) – Decoder input tensor.

  • x_mark_dec (torch.Tensor) – Decoder time feature tensor.

  • mask (torch.Tensor) – Mask tensor used for imputation.

Returns:

Output tensor for the selected task. Returns None if the task name is not supported.

Return type:

torch.Tensor or None

imputation(x_enc, x_mark_enc, x_dec, x_mark_dec, mask)[source]

Run imputation with the iTransformer model.

Parameters:
  • x_enc (torch.Tensor) – Encoder input tensor of shape (batch_size, seq_len, num_features).

  • x_mark_enc (torch.Tensor) – Encoder time feature tensor.

  • x_dec (torch.Tensor) – Decoder input tensor. This parameter is kept for compatibility.

  • x_mark_dec (torch.Tensor) – Decoder time feature tensor. This parameter is kept for compatibility.

  • mask (torch.Tensor) – Mask tensor indicating missing or observed values.

Returns:

Imputed output tensor of shape (batch_size, seq_len, num_features).

Return type:

torch.Tensor