class_docstr: Base Agent class handling the interaction with the environment.
  
  >>> env = gym.make("CartPole-v1")
  >>> buffer = ReplayBuffer(10)
  >>> Agent(env, buffer)  # doctest: +ELLIPSIS
  <...reinforce_learn_Qnet.Agent object at ...>
docstr: Args:
      env: training environment
      replay_buffer: replay buffer storing experiences
docstr_tok: ["Args",":","env",":","training","environment","replay_buffer",":","replay","buffer","storing","experiences"]
code: def __init__(self, env: gym.Env, replay_buffer: ReplayBuffer) -> None:
      """
      Args:
          env: training environment
          replay_buffer: replay buffer storing experiences
      """
      self.env = env
      self.replay_buffer = replay_buffer
      self.reset()
      self.state = self.env.reset()
  
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 Agent object  with example: obj = Agent(env, replay_buffer)