class_docstr: Ghost Batch Normalization.
  It allows the use of large batch sizes,
  but with batch normalization parameters calculated on smaller sub-batches.
  
  [1] Train longer, generalize better: closing the generalization gap in large batch training of neural networks : https://arxiv.org/abs/1705.08741
  [2] Simple Modifications to Improve Tabular Neural Networks: https://arxiv.org/pdf/2108.03214
code: def __init__(
      self,
      input_dim: int,
      virtual_batch_size: Optional[int] = 64,
      momentum: Optional[float] = 0.01,
  ):
      super(GhostBatchNorm, self).__init__()
  
      self.input_dim = input_dim
      self.virtual_batch_size = virtual_batch_size
      self.bn = nn.BatchNorm1d(self.input_dim, momentum=momentum)
  
file_path: autogluon/multimodal/src/autogluon/multimodal/models/mlp.py
imports: from typing import Optional
  import numpy
  import torch
  from torch import nn
label_desc: Use image node_id 1 to create a new GhostBatchNorm object from inherited base classes: nn with example: obj = GhostBatchNorm(input_dim, virtual_batch_size, momentum)