class_docstr: Fully-connected + LSTM (s,a)-input Q-function.
  
  Args:
      n_dim_obs (int): Number of dimensions of observation space.
      n_dim_action (int): Number of dimensions of action space.
      n_hidden_channels (int): Number of hidden channels.
      n_hidden_layers (int): Number of hidden layers.
      nonlinearity (callable): Nonlinearity between layers. It must accept a
          Variable as an argument and return a Variable with the same shape.
          Nonlinearities with learnable parameters such as PReLU are not
          supported.
      last_wscale (float): Scale of weight initialization of the last layer.
code: def __init__(
      self,
      n_dim_obs,
      n_dim_action,
      n_hidden_channels,
      n_hidden_layers,
      nonlinearity=F.relu,
      last_wscale=1.0,
  ):
      raise NotImplementedError()
      self.n_input_channels = n_dim_obs + n_dim_action
      self.n_hidden_layers = n_hidden_layers
      self.n_hidden_channels = n_hidden_channels
      self.nonlinearity = nonlinearity
      super().__init__()
      self.fc = MLP(
          self.n_input_channels,
          n_hidden_channels,
          [self.n_hidden_channels] * self.n_hidden_layers,
          nonlinearity=nonlinearity,
      )
      self.lstm = nn.LSTM(
          num_layers=1,
          input_size=n_hidden_channels,
          hidden_size=n_hidden_channels,
      )
      self.out = nn.Linear(n_hidden_channels, 1)
      for n, p in self.lstm.named_parameters():
          if "weight" in n:
              init_lecun_normal(p)
          else:
              nn.init.zeros_(p)
  
      init_lecun_normal(self.out.weight, scale=last_wscale)
      nn.init.zeros_(self.out.bias)
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from pfrl.initializers import init_lecun_normal
  from pfrl.nn.mlp import MLP
  from pfrl.nn.mlp_bn import MLPBN
  from pfrl.q_function import StateActionQFunction
label_desc: Use image node_id 1 to create a new FCLSTMSAQFunction object from inherited base classes: nn, StateActionQFunction with example: obj = FCLSTMSAQFunction(n_dim_obs, n_dim_action, n_hidden_channels, n_hidden_layers, nonlinearity, last_wscale)