class_docstr: A general model arch for mapping from states to scalar values.
  
  The model arch is often used to implement Deep Q-network, where
  the outputs are q-values of all defined actions.
code: def __init__(
      self,
      state_dim,
      action_dim,
      sizes,
      activations,
      *,
      output_activation: str = "linear",
      num_atoms: Optional[int] = None,
      use_batch_norm: bool = False,
      dropout_ratio: float = 0.0,
      normalized_output: bool = False,
      use_layer_norm: bool = False,
  ) -> None:
      super().__init__(
          state_dim=state_dim,
          output_dim=action_dim,
          sizes=sizes,
          activations=activations,
          num_atoms=num_atoms,
          use_batch_norm=use_batch_norm,
          dropout_ratio=dropout_ratio,
          normalized_output=normalized_output,
          use_layer_norm=use_layer_norm,
          output_activation=output_activation,
      )
      self.action_dim = self.output_dim
  
file_path: ReAgent/reagent/models/dqn.py
imports: from typing import Optional
  import torch
  from reagent.core import types
  from reagent.models.fully_connected_network import FloatFeatureFullyConnected
label_desc: Use image node_id 1 to create a new FullyConnectedDQN object from inherited base classes: FloatFeatureFullyConnected with example: obj = FullyConnectedDQN(state_dim, action_dim, sizes, activations)