class_docstr: Conv + Norm Layer + Activation w/ optional skip connection
      
class_docstr_tok: ["Conv","+","Norm","Layer","+","Activation","w\/","optional","skip","connection"]
code: def __init__(
      self,
      in_chs,
      out_chs,
      kernel_size,
      stride=1,
      dilation=1,
      group_size=0,
      pad_type="",
      skip=False,
      act_layer=nn.ReLU,
      norm_layer=nn.BatchNorm2d,
      drop_path_rate=0.0,
  ):
      super(ConvBnAct, self).__init__()
      norm_act_layer = get_norm_act_layer(norm_layer, act_layer)
      groups = num_groups(group_size, in_chs)
      self.has_skip = skip and stride == 1 and in_chs == out_chs
  
      self.conv = create_conv2d(
          in_chs,
          out_chs,
          kernel_size,
          stride=stride,
          dilation=dilation,
          groups=groups,
          padding=pad_type,
      )
      self.bn1 = norm_act_layer(out_chs, inplace=True)
      self.drop_path = (
          DropPath(drop_path_rate) if drop_path_rate else nn.Identity()
      )
  
imports: import torch
  import torch.nn
  from torch.nn import functional
  from timm.layers import create_conv2d, DropPath, make_divisible, create_act_layer, get_norm_act_layer
label_desc: Use image node_id 1 to create a new ConvBnAct object from inherited base classes: nn with example: obj = ConvBnAct(in_chs, out_chs, kernel_size, stride, dilation, group_size, pad_type, skip, act_layer, norm_layer, drop_path_rate)