code: def __init__(
      self, input_dim, hidden_dim, layer_num, dropout, output_dim, seed
  ):
      super(LSTMModel, self).__init__()
      seed_everything(seed, workers=True)
      self.hidden_dim = hidden_dim
      self.dropout = dropout
      self.layer_num = layer_num
      lstm_list = []
      for layer in range(self.layer_num):
          lstm_list.append(
              nn.LSTM(
                  input_dim,
                  self.hidden_dim[layer],
                  1,
                  dropout=self.dropout[layer],
                  batch_first=True,
              )
          )
          input_dim = self.hidden_dim[layer]
      self.lstm = nn.ModuleList(lstm_list)
      self.fc = nn.Linear(self.hidden_dim[-1], output_dim)
      self.init_weights()
  
file_path: BigDL/python/chronos/src/bigdl/chronos/model/VanillaLSTM_pytorch.py
imports: import torch
  import torch.nn
  from pytorch_lightning import seed_everything
  from bigdl.chronos.pytorch.model_wrapper.normalization import NormalizeTSModel
  from bigdl.chronos.pytorch.model_wrapper.decomposition import DecompositionTSModel
label_desc: Use image node_id 1 to create a new LSTMModel object from inherited base classes: nn with example: obj = LSTMModel(input_dim, hidden_dim, layer_num, dropout, output_dim, seed)