class_docstr: Simple MLP network.
  
  >>> DQN(10, 5)  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
  DQN(
    (net): Sequential(...)
  )
docstr: Args:
      obs_size: observation/state size of the environment
      n_actions: number of discrete actions available in the environment
      hidden_size: size of hidden layers
docstr_tok: ["Args",":","obs_size",":","observation\/state","size","of","the","environment","n_actions",":","number","of","discrete","actions","available","in","the","environment","hidden_size",":","size","of","hidden","layers"]
code: def __init__(
      self, obs_size: int, n_actions: int, hidden_size: int = 128
  ):
      """
      Args:
          obs_size: observation/state size of the environment
          n_actions: number of discrete actions available in the environment
          hidden_size: size of hidden layers
      """
      super().__init__()
      self.net = nn.Sequential(
          nn.Linear(obs_size, hidden_size),
          nn.ReLU(),
          nn.Linear(hidden_size, n_actions),
      )
  
imports: import argparse
  from collections import OrderedDict, deque, namedtuple
  from typing import Iterator, List, Tuple
  import gym
  import numpy
  import torch
  import torch.nn
  import torch.optim
  from lightning.pytorch import LightningModule, Trainer, cli_lightning_logo, seed_everything
  from torch.optim.optimizer import Optimizer
  from torch.utils.data import DataLoader
  from torch.utils.data.dataset import IterableDataset
label_desc: Use image node_id 1 to create a new DQN object from inherited base classes: nn with example: obj = DQN(obs_size, n_actions, hidden_size)