class_docstr: VGG Backbone network for single-shot-detection.
  
  Args:
      input_size (int): width and height of input, from {300, 512}.
      depth (int): Depth of vgg, from {11, 13, 16, 19}.
      out_indices (Sequence[int]): Output from which stages.
  
  Example:
      >>> self = SSDVGG(input_size=300, depth=11)
      >>> self.eval()
      >>> inputs = torch.rand(1, 3, 300, 300)
      >>> level_outputs = self.forward(inputs)
      >>> for level_out in level_outputs:
      ...     print(tuple(level_out.shape))
      (1, 1024, 19, 19)
      (1, 512, 10, 10)
      (1, 256, 5, 5)
      (1, 256, 3, 3)
      (1, 256, 1, 1)
class_docstr_tok: ["VGG","Backbone","network","for","single-shot-detection",".","Args",":","input_size","(","int",")",":","width","and","height","of","input",",","from","{","300",",","512","}",".","depth","(","int",")",":","Depth","of","vgg",",","from","{","11",",","13",",","16",",","19","}",".","out_indices","(","Sequence","[","int","]",")",":","Output","from","which","stages",".","Example",":",">",">",">","self","=","SSDVGG","(","input_size=300",",","depth=11",")",">",">",">","self.eval","(",")",">",">",">","inputs","=","torch.rand","(","1",",","3",",","300",",","300",")",">",">",">","level_outputs","=","self.forward","(","inputs",")",">",">",">","for","level_out","in","level_outputs",":","...","print","(","tuple","(","level_out.shape",")",")","(","1",",","1024",",","19",",","19",")","(","1",",","512",",","10",",","10",")","(","1",",","256",",","5",",","5",")","(","1",",","256",",","3",",","3",")","(","1",",","256",",","1",",","1",")"]
code: def _make_extra_layers(self, outplanes):
      layers = []
      kernel_sizes = (1, 3)
      num_layers = 0
      outplane = None
      for i in range(len(outplanes)):
          if self.inplanes == "S":
              self.inplanes = outplane
              continue
          k = kernel_sizes[num_layers % 2]
          if outplanes[i] == "S":
              outplane = outplanes[i + 1]
              conv = nn.Conv2d(
                  self.inplanes, outplane, k, stride=2, padding=1
              )
          else:
              outplane = outplanes[i]
              conv = nn.Conv2d(
                  self.inplanes, outplane, k, stride=1, padding=0
              )
          layers.append(conv)
          self.inplanes = outplanes[i]
          num_layers += 1
      if self.input_size == 512:
          layers.append(nn.Conv2d(self.inplanes, 256, 4, padding=1))
  
      return nn.Sequential(*layers)
  
file_path: insightface/detection/scrfd/mmdet/models/backbones/ssd_vgg.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from mmcv.cnn import VGG, constant_init, kaiming_init, normal_init, xavier_init
  from mmcv.runner import load_checkpoint
  from mmdet.utils import get_root_logger
  from ..builder import BACKBONES
label_desc: Use image node_id 4 for calling the SSDVGG obj's underlying member method code with example usage: obj._make_extra_layers(outplanes) and returns: nn