class_docstr: Fully-connected + LSTM state-input discrete Q-function.
  
  Args:
      n_dim_obs: number of dimensions of observation space
      n_dim_action: number of dimensions of action space
      n_hidden_channels: number of hidden channels before LSTM
      n_hidden_layers: number of hidden layers before LSTM
class_docstr_tok: ["Fully-connected","+","LSTM","state-input","discrete","Q-function",".","Args",":","n_dim_obs",":","number","of","dimensions","of","observation","space","n_dim_action",":","number","of","dimensions","of","action","space","n_hidden_channels",":","number","of","hidden","channels","before","LSTM","n_hidden_layers",":","number","of","hidden","layers","before","LSTM"]
code: def __init__(
      self, n_dim_obs, n_dim_action, n_hidden_channels, n_hidden_layers
  ):
      self.n_input_channels = n_dim_obs
      self.n_hidden_layers = n_hidden_layers
      self.n_hidden_channels = n_hidden_channels
      self.state_stack = []
      super().__init__()
      with self.init_scope():
          self.fc = MLP(
              in_size=self.n_input_channels,
              out_size=n_hidden_channels,
              hidden_sizes=[self.n_hidden_channels]
              * self.n_hidden_layers,
          )
          self.lstm = L.LSTM(n_hidden_channels, n_hidden_channels)
          self.out = L.Linear(n_hidden_channels, n_dim_action)
  
imports: import chainer
  from chainer import cuda
  from chainer import functions
  from chainer import links
  import numpy
  import chainerrl
  from chainerrl.action_value import DiscreteActionValue
  from chainerrl.action_value import DistributionalDiscreteActionValue
  from chainerrl.action_value import QuadraticActionValue
  from chainerrl.functions.lower_triangular_matrix import lower_triangular_matrix
  from chainerrl.links.mlp import MLP
  from chainerrl.links.mlp_bn import MLPBN
  from chainerrl.q_function import StateQFunction
  from chainerrl.recurrent import RecurrentChainMixin
label_desc: Use image node_id 1 to create a new FCLSTMStateQFunction object from inherited base classes: chainer, StateQFunction, RecurrentChainMixin with example: obj = FCLSTMStateQFunction(n_dim_obs, n_dim_action, n_hidden_channels, n_hidden_layers)