code: def __init__(
      self,
      in_c: int,
      out_c: int,
      kernel_s: int = 1,
      stride: int = 1,
      padding: int = 0,
      groups: int = 1,
      act: Optional[nn.Module] = nn.ReLU(inplace=True),
  ):
      super(ConvBNAct, self).__init__()
  
      self.conv = nn.Conv2d(
          in_channels=in_c,
          out_channels=out_c,
          kernel_size=kernel_s,
          stride=stride,
          padding=padding,
          groups=groups,
          bias=False,
      )
  
      self.bn = nn.BatchNorm2d(out_c)
      self.act = act if act is not None else nn.Identity()
  
imports: from typing import Optional
  import numpy
  import torch
  import torch.nn
  from torch import Tensor
label_desc: Use image node_id 1 to create a new ConvBNAct object from inherited base classes: nn with example: obj = ConvBNAct(in_c, out_c, kernel_s, stride, padding, groups, act)