code: def __init__(
      self, num_channels, filter_size, num_filters, stride, num_groups=1
  ):
      super().__init__()
  
      self.conv = Conv2D(
          in_channels=num_channels,
          out_channels=num_filters,
          kernel_size=filter_size,
          stride=stride,
          padding=(filter_size - 1) // 2,
          groups=num_groups,
          weight_attr=ParamAttr(initializer=KaimingNormal()),
          bias_attr=False,
      )
  
      self.bn = BatchNorm(
          num_filters,
          param_attr=ParamAttr(regularizer=L2Decay(0.0)),
          bias_attr=ParamAttr(regularizer=L2Decay(0.0)),
      )
      self.hardswish = nn.Hardswish()
  
imports: from __future__ import absolute_import, division, print_function
  import os
  import paddle
  import paddle.nn
  from paddle import ParamAttr
  from paddle.nn import AdaptiveAvgPool2D, BatchNorm, Conv2D, Dropout, Linear
  from paddle.regularizer import L2Decay
  from paddle.nn.initializer import KaimingNormal
  from paddle.utils.download import get_path_from_url
label_desc: Use image node_id 1 to create a new ConvBNLayer object from inherited base classes: nn with example: obj = ConvBNLayer(num_channels, filter_size, num_filters, stride, num_groups)