code: def main(args: Namespace) -> None:
      # ------------------------
      # 1 INIT LIGHTNING MODEL
      # ------------------------
      model = GAN(
          lr=args.lr, b1=args.b1, b2=args.b2, latent_dim=args.latent_dim
      )
  
      # ------------------------
      # 2 INIT TRAINER
      # ------------------------
      # If use distributed training  PyTorch recommends to use DistributedDataParallel.
      # See: https://pytorch.org/docs/stable/nn.html#torch.nn.DataParallel
      dm = MNISTDataModule()
      trainer = Trainer(accelerator="gpu", devices=1)
  
      # ------------------------
      # 3 START TRAINING
      # ------------------------
      trainer.fit(model, dm)
  
imports: from argparse import ArgumentParser, Namespace
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from lightning.pytorch import cli_lightning_logo
  from lightning.pytorch.core import LightningModule
  from lightning.pytorch.demos.mnist_datamodule import MNISTDataModule
  from lightning.pytorch.trainer import Trainer
  from lightning.pytorch.utilities.imports import _TORCHVISION_AVAILABLE
label_desc: Use image node_id 1 for calling a global function with example usage: main(args) without return types