class_docstr: PyTorch Lightning implementation of PPO.
  
  Example:
      model = PPOLightning("CartPole-v0")
  Train:
      trainer = Trainer()
      trainer.fit(model)
docstr: Passes in a state x through the network and returns the policy and a sampled action.
  
  Args:
      x: environment state
  
  Returns:
      Tuple of policy and action
code: def forward(
      self, x: torch.Tensor
  ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]:
      """Passes in a state x through the network and returns the policy and a sampled action.
  
      Args:
          x: environment state
  
      Returns:
          Tuple of policy and action
  
      """
      pi, action = self.actor(x)
      value = self.critic(x)
  
      return pi, action, value
  
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 PPOLightning obj's underlying member method code with example usage: obj.forward(x) and returns: pi,  action,  value