text: import torch.nn as nn
  
  
  # borrowed from https://github.com/amdegroot/ssd.pytorch/blob/master/ssd.py
  def vgg(cfg, batch_norm=False):
      layers = []
      in_channels = 3
      for v in cfg:
          if v == 'M':
              layers += [nn.MaxPool2d(kernel_size=2, stride=2)]
          elif v == 'C':
              layers += [nn.MaxPool2d(kernel_size=2, stride=2, ceil_mode=True)]
          else:
              conv2d = nn.Conv2d(in_channels, v, kernel_size=3, padding=1)
              if batch_norm:
                  layers += [conv2d, nn.BatchNorm2d(v), nn.ReLU(inplace=True)]
              else:
                  layers += [conv2d, nn.ReLU(inplace=True)]
              in_channels = v
      pool5 = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)
      conv6 = nn.Conv2d(512, 1024, kernel_size=3, padding=6, dilation=6)
      conv7 = nn.Conv2d(1024, 1024, kernel_size=1)
      layers += [pool5, conv6,
                 nn.ReLU(inplace=True), conv7, nn.ReLU(inplace=True)]
      return layers