code: def __init__(
      self,
      in_dim,
      out_dim,
      ks=1,
      stride=1,
      pad=0,
      dilation=1,
      groups=1,
      bn_weight_init=1,
  ):
      super().__init__()
      self.add_module(
          "c",
          nn.Conv2d(
              in_dim,
              out_dim,
              ks,
              stride,
              pad,
              dilation,
              groups,
              bias=False,
          ),
      )
      self.add_module("bn", nn.BatchNorm2d(out_dim))
      nn.init.constant_(self.bn.weight, bn_weight_init)
      nn.init.constant_(self.bn.bias, 0)
  
imports: import torch.nn
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from ._registry import register_model, generate_default_cfgs
  from ._builder import build_model_with_cfg
  from timm.layers import SqueezeExcite, trunc_normal_, to_ntuple, to_2tuple
  from ._manipulate import checkpoint_seq
  import torch
label_desc: Use image node_id 1 to create a new ConvNorm object from inherited base classes: nn with example: obj = ConvNorm(in_dim, out_dim, ks, stride, pad, dilation, groups, bn_weight_init)