class_docstr: Extensions to the classic (D)DQN networks.
class_docstr_tok: ["Extensions","to","the","classic","(","D",")","DQN","networks","."]
docstr: Runs the given observation through the network.
  
  Args:
    observation: The observation to provide to the network.
    step_type: The step type for the given observation. See `StepType` in
      time_step.py.
    network_state: A state tuple to pass to the network, mainly used by RNNs.
    training: Whether the output is being used for training.
  
  Returns:
    A tuple `(logits, network_state)`.
docstr_tok: ["Runs","the","given","observation","through","the","network",".","Args",":","observation",":","The","observation","to","provide","to","the","network",".","step_type",":","The","step","type","for","the","given","observation",".","See","`","StepType","`","in","time_step.py",".","network_state",":","A","state","tuple","to","pass","to","the","network",",","mainly","used","by","RNNs",".","training",":","Whether","the","output","is","being","used","for","training",".","Returns",":","A","tuple","`","(","logits",",","network_state",")","`","."]
code: def call(
      self,
      observation,
      step_type=None,
      network_state=(),
      training=False,
  ):
      """Runs the given observation through the network.
  
      Args:
        observation: The observation to provide to the network.
        step_type: The step type for the given observation. See `StepType` in
          time_step.py.
        network_state: A state tuple to pass to the network, mainly used by RNNs.
        training: Whether the output is being used for training.
  
      Returns:
        A tuple `(logits, network_state)`.
      """
      state, network_state = self._encoder(
          observation,
          step_type=step_type,
          network_state=network_state,
          training=training,
      )
  
      q_values = self._q_value_layer(state)
      state_value = self._dueling_layer(state)
      advantage = state_value + (
          q_values - tf.reduce_mean(q_values, axis=1, keepdims=True)
      )
      return (advantage, q_values), network_state
  
imports: import gin
  import tensorflow
  from tf_agents.networks import q_network
label_desc: Use image node_id 2 for calling the DuelingQNetwork obj's underlying member method code with example usage: obj.call(observation, step_type, network_state, training) and returns: advantage,  q_values,  network_state