code: def __init__(
      self, in_channels: int, out_channels: int, withBNRelu: bool = True
  ) -> None:
      super().__init__()
      self.add_module(
          "conv1",
          nn.Conv2d(
              in_channels, out_channels, 1, 1, 0, bias=True, groups=1
          ),
      )
      self.add_module(
          "conv2",
          nn.Conv2d(
              out_channels,
              out_channels,
              3,
              1,
              1,
              bias=True,
              groups=out_channels,
          ),
      )
      if withBNRelu:
          self.add_module("bn", nn.BatchNorm2d(out_channels))
          self.add_module("relu", nn.ReLU(inplace=True))
  
imports: import math
  from enum import Enum
  from typing import Dict, List, Optional, Tuple
  import torch
  import torch.nn.functional
  from torch import nn
  from kornia.geometry.bbox import nms
  from kornia.utils.helpers import map_location_to_cpu
label_desc: Use image node_id 1 to create a new ConvDPUnit object from inherited base classes: nn with example: obj = ConvDPUnit(in_channels, out_channels, withBNRelu)