class_docstr: Basic DQN Model.
  
  >>> DQNLightning(env="CartPole-v1")  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
  DQNLightning(
    (net): DQN(
      (net): Sequential(...)
    )
    (target_net): DQN(
      (net): Sequential(...)
    )
  )
code: def __init__(
      self,
      env: str,
      replay_size: int = 200,
      warm_start_steps: int = 200,
      gamma: float = 0.99,
      eps_start: float = 1.0,
      eps_end: float = 0.01,
      eps_last_frame: int = 200,
      sync_rate: int = 10,
      lr: float = 1e-2,
      episode_length: int = 50,
      batch_size: int = 4,
      **kwargs,
  ) -> None:
      super().__init__(**kwargs)
      self.replay_size = replay_size
      self.warm_start_steps = warm_start_steps
      self.gamma = gamma
      self.eps_start = eps_start
      self.eps_end = eps_end
      self.eps_last_frame = eps_last_frame
      self.sync_rate = sync_rate
      self.lr = lr
      self.episode_length = episode_length
      self.batch_size = batch_size
  
      self.env = gym.make(env)
      obs_size = self.env.observation_space.shape[0]
      n_actions = self.env.action_space.n
  
      self.net = DQN(obs_size, n_actions)
      self.target_net = DQN(obs_size, n_actions)
  
      self.buffer = ReplayBuffer(self.replay_size)
      self.agent = Agent(self.env, self.buffer)
      self.total_reward = 0
      self.episode_reward = 0
      self.populate(self.warm_start_steps)
  
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 DQNLightning object from inherited base classes: LightningModule with example: obj = DQNLightning(env, replay_size, warm_start_steps, gamma, eps_start, eps_end, eps_last_frame, sync_rate, lr, episode_length, batch_size)