code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      apply_norm: bool = True,
      conv_bn_act_pattern: bool = False,
      norm_cfg: OptConfigType = dict(
          type="BN", momentum=1e-2, eps=1e-3
      ),
  ) -> None:
      super(DepthWiseConvBlock, self).__init__()
      self.depthwise_conv = Conv2dSamePadding(
          in_channels,
          in_channels,
          kernel_size=3,
          stride=1,
          groups=in_channels,
          bias=False,
      )
      self.pointwise_conv = Conv2dSamePadding(
          in_channels, out_channels, kernel_size=1, stride=1
      )
  
      self.apply_norm = apply_norm
      if self.apply_norm:
          self.bn = build_norm_layer(
              norm_cfg, num_features=out_channels
          )[1]
  
      self.apply_activation = conv_bn_act_pattern
      if self.apply_activation:
          self.swish = Swish()
  
imports: import math
  from typing import Tuple, Union
  import torch
  import torch.nn
  from mmcv.cnn.bricks import Swish, build_norm_layer
  from torch.nn import functional
  from torch.nn.init import _calculate_fan_in_and_fan_out, trunc_normal_
  from mmdet.registry import MODELS
  from mmdet.utils import OptConfigType
label_desc: Use image node_id 1 to create a new DepthWiseConvBlock object from inherited base classes: nn with example: obj = DepthWiseConvBlock(in_channels, out_channels, apply_norm, conv_bn_act_pattern, norm_cfg)