code: def __init__(self, backbone="resnet50"):
      super().__init__()
  
      self.feature_extractor = ResNet(backbone=backbone)
  
      self.label_num = 81  # number of COCO classes
      self._build_additional_features(
          self.feature_extractor.out_channels
      )
      self.num_defaults = [4, 6, 6, 6, 4, 4]
      self.loc = []
      self.conf = []
  
      for nd, oc in zip(
          self.num_defaults, self.feature_extractor.out_channels
      ):
          self.loc.append(
              nn.Conv2d(oc, nd * 4, kernel_size=3, padding=1)
          )
          self.conf.append(
              nn.Conv2d(
                  oc, nd * self.label_num, kernel_size=3, padding=1
              )
          )
  
      self.loc = nn.ModuleList(self.loc)
      self.conf = nn.ModuleList(self.conf)
      self._init_weights()
  
imports: import torch
  import torch.nn
  from torchvision.models.resnet import resnet18, resnet34, resnet50, resnet101, resnet152
  from torch.nn.parallel import DistributedDataParallel
label_desc: Use image node_id 1 to create a new SSD300 object from inherited base classes: nn with example: obj = SSD300(backbone)