class_docstr: Implementation from PyTorch Lightning Bolts: https://github.com/Lightning-AI/lightning-
  bolts/blob/master/pl_bolts/datamodules/experience_source.py.
  
  Basic experience source dataset. Takes a generate_batch function that returns an iterator. The logic for the
  experience source and how the batch is generated is defined the Lightning model itself
code: def __iter__(self) -> Iterator:
      return self.generate_batch()
  
imports: import argparse
  from typing import Callable, Iterator, List, Tuple
  import gym
  import torch
  from lightning.pytorch import LightningModule, Trainer, cli_lightning_logo, seed_everything
  from torch import nn
  from torch.distributions import Categorical, Normal
  from torch.optim.optimizer import Optimizer
  from torch.utils.data import DataLoader, IterableDataset
label_desc: Use image node_id 2 for calling the ExperienceSourceDataset obj's underlying member method code with example usage: obj.__iter__() and returns: self