class_docstr: Dueling Q-Network
  
  See: http://arxiv.org/abs/1511.06581
class_docstr_tok: ["Dueling","Q-Network","See",":","http",":","\/\/arxiv.org\/abs\/1511.06581"]
code: def __init__(
      self, n_actions, n_input_channels=4, activation=F.relu, bias=0.1
  ):
      self.n_actions = n_actions
      self.n_input_channels = n_input_channels
      self.activation = activation
  
      super().__init__()
      with self.init_scope():
          self.conv_layers = chainer.ChainList(
              L.Convolution2D(
                  n_input_channels, 32, 8, stride=4, initial_bias=bias
              ),
              L.Convolution2D(32, 64, 4, stride=2, initial_bias=bias),
              L.Convolution2D(64, 64, 3, stride=1, initial_bias=bias),
          )
  
          self.a_stream = MLP(3136, n_actions, [512])
          self.v_stream = MLP(3136, 1, [512])
  
file_path: chainerrl/chainerrl/q_functions/dueling_dqn.py
imports: import chainer
  from chainer import functions
  from chainer import links
  import numpy
  from chainerrl import action_value
  from chainerrl.links.mlp import MLP
  from chainerrl.q_function import StateQFunction
  from chainerrl.recurrent import RecurrentChainMixin
label_desc: Use image node_id 1 to create a new DuelingDQN object from inherited base classes: chainer, StateQFunction with example: obj = DuelingDQN(n_actions, n_input_channels, activation, bias)