class_docstr: Implementaion of Transformer deep torch model.
code: def forward(
      self,
      past,
      past_timestamp,
      future_timestamp,
      enc_self_mask=None,
      dec_self_mask=None,
      dec_enc_mask=None,
      **kwargs,
  ):
      config = self.config
  
      start_token = past[:, (past.shape[1] - self.start_token_len) :]
      dec_inp = torch.zeros(
          past.shape[0],
          self.max_forecast_steps,
          config.decoder_input_size,
          dtype=torch.float,
          device=self.device,
      )
      dec_inp = torch.cat([start_token, dec_inp], dim=1)
  
      future_timestamp = torch.cat(
          [
              past_timestamp[
                  :, (past_timestamp.shape[1] - self.start_token_len) :
              ],
              future_timestamp,
          ],
          dim=1,
      )
  
      enc_out = self.enc_embedding(past, past_timestamp)
      enc_out, attns = self.encoder(enc_out, attn_mask=enc_self_mask)
  
      dec_out = self.dec_embedding(dec_inp, future_timestamp)
      dec_out = self.decoder(
          dec_out,
          enc_out,
          x_mask=dec_self_mask,
          cross_mask=dec_enc_mask,
      )
  
      if self.config.target_seq_index is not None:
          return dec_out[:, -self.max_forecast_steps :, :1]
      else:
          return dec_out[:, -self.max_forecast_steps :, :]
  
imports: import copy
  import logging
  import math
  import numpy
  import pandas
  from scipy.stats import norm
  from typing import List, Optional, Tuple, Union
  from abc import abstractmethod
  from merlion.models.base import NormalizingConfig
  from merlion.models.deep_base import TorchModel
  from merlion.models.forecast.deep_base import DeepForecasterConfig, DeepForecaster
  from merlion.models.utils.nn_modules import FullAttention, AttentionLayer, DataEmbedding, ConvLayer
  from merlion.models.utils.nn_modules.enc_dec_transformer import Encoder, EncoderLayer, Decoder, DecoderLayer
  from merlion.utils.misc import initializer
label_desc: Use image node_id 2 for calling the TransformerModel obj's underlying member method code with example usage: obj.forward(past, past_timestamp, future_timestamp, enc__mask, dec__mask, dec_enc_mask) and returns: dec_out, dec_out