class_docstr: Head network for classification and bounding box refinement. Performs RoiAlign, processes resulting features through a
  shared convolutional base and finally branches off the classifier- and regression head.
code: def __init__(self, cf, conv):
      super(Classifier, self).__init__()
  
      self.dim = conv.dim
      self.in_channels = cf.end_filts
      self.pool_size = cf.pool_size
      self.pyramid_levels = cf.pyramid_levels
      # instance_norm does not work with spatial dims (1, 1, (1))
      norm = cf.norm if cf.norm != "instance_norm" else None
  
      self.conv1 = conv(
          cf.end_filts,
          cf.end_filts * 4,
          ks=self.pool_size,
          stride=1,
          norm=norm,
          relu=cf.relu,
      )
      self.conv2 = conv(
          cf.end_filts * 4,
          cf.end_filts * 4,
          ks=1,
          stride=1,
          norm=norm,
          relu=cf.relu,
      )
      self.linear_class = nn.Linear(cf.end_filts * 4, cf.head_classes)
      self.linear_bbox = nn.Linear(
          cf.end_filts * 4, cf.head_classes * 2 * self.dim
      )
  
imports: import utils.model_utils
  import utils.exp_utils
  from cuda_functions.nms_2D.pth_nms import nms_gpu
  from cuda_functions.nms_3D.pth_nms import nms_gpu
  from cuda_functions.roi_align_2D.roi_align.crop_and_resize import CropAndResizeFunction
  from cuda_functions.roi_align_3D.roi_align.crop_and_resize import CropAndResizeFunction
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.utils
label_desc: Use image node_id 1 to create a new Classifier object from inherited base classes: nn with example: obj = Classifier(cf, conv)