class_docstr: A LayerNorm variant, popularized by Transformers, that performs
  pointwise mean and variance normalization over the channel dimension for
  inputs that have shape (batch_size, channels, height, width).
class_docstr_tok: ["A","LayerNorm","variant",",","popularized","by","Transformers",",","that","performs","pointwise","mean","and","variance","normalization","over","the","channel","dimension","for","inputs","that","have","shape","(","batch_size",",","channels",",","height",",","width",")","."]
code: def __init__(self, normalized_shape, eps=1e-6):
      super().__init__()
      self.weight = nn.Parameter(torch.ones(normalized_shape))
      self.bias = nn.Parameter(torch.zeros(normalized_shape))
      self.eps = eps
      self.normalized_shape = (normalized_shape,)
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from mmcv.cnn import build_activation_layer, build_norm_layer
  from mmcv.cnn.bricks import DropPath
  from mmengine.logging import MMLogger
  from mmengine.model import BaseModule
  from mmengine.runner.checkpoint import CheckpointLoader
  from mmdet.registry import MODELS
label_desc: Use image node_id 1 to create a new LN2d object from inherited base classes: nn with example: obj = LN2d(normalized_shape, eps)