class_docstr: A world model used for simulation. Underlying is an RNN with fixed
  parameters. Given a sequence of actions and states, it outputs the next
  state's mixture means and reward.
code: def init_lstm(self) -> None:
      self.lstm = nn.LSTM(
          input_size=self.action_dim + self.state_dim,
          hidden_size=self.lstm_num_hiddens,
          num_layers=self.lstm_num_hidden_layers,
      )
      # output mu for each guassian, and reward
      self.gmm_linear = nn.Linear(
          self.lstm_num_hiddens, self.state_dim * self.num_gaussians + 1
      )
  
file_path: ReAgent/reagent/test/world_model/simulated_world_model.py
imports: import torch
  import torch.nn
label_desc: Use image node_id 2 for calling the SimulatedWorldModel obj's underlying member method code with example usage: obj.init_lstm() without return types