class_docstr: An extended VGG-16 model for SSD300 and SSD512.
  
  This is an extended VGG-16 model proposed in [#]_.
  The differences from original VGG-16 [#]_ are shown below.
  
  * :obj:`conv5_1`, :obj:`conv5_2` and :obj:`conv5_3` are changed from     :class:`~chainer.links.Convolution2d` to     :class:`~chainer.links.DilatedConvolution2d`.
  * :class:`~chainercv.links.model.ssd.Normalize` is     inserted after :obj:`conv4_3`.
  * The parameters of max pooling after :obj:`conv5_3` are changed.
  * :obj:`fc6` and :obj:`fc7` are converted to :obj:`conv6` and :obj:`conv7`.
  
  .. [#] Wei Liu, Dragomir Anguelov, Dumitru Erhan,
     Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg.
     SSD: Single Shot MultiBox Detector. ECCV 2016.
  .. [#] Karen Simonyan, Andrew Zisserman.
     Very Deep Convolutional Networks for Large-Scale Image Recognition.
     ICLR 2015.
class_docstr_tok: ["An","extended","VGG-16","model","for","SSD300","and","SSD512",".","This","is","an","extended","VGG-16","model","proposed","in","[","#","]","_",".","The","differences","from","original","VGG-16","[","#","]","_","are","shown","below",".","*",":","obj",":","`","conv5_1","`",",",":","obj",":","`","conv5_2","`","and",":","obj",":","`","conv5_3","`","are","changed","from",":","class",":","`","~chainer.links.Convolution2d","`","to",":","class",":","`","~chainer.links.DilatedConvolution2d","`",".","*",":","class",":","`","~chainercv.links.model.ssd.Normalize","`","is","inserted","after",":","obj",":","`","conv4_3","`",".","*","The","parameters","of","max","pooling","after",":","obj",":","`","conv5_3","`","are","changed",".","*",":","obj",":","`","fc6","`","and",":","obj",":","`","fc7","`","are","converted","to",":","obj",":","`","conv6","`","and",":","obj",":","`","conv7","`",".","..","[","#","]","Wei","Liu",",","Dragomir","Anguelov",",","Dumitru","Erhan",",","Christian","Szegedy",",","Scott","Reed",",","Cheng-Yang","Fu",",","Alexander","C.","Berg",".","SSD",":","Single","Shot","MultiBox","Detector",".","ECCV","2016",".","..","[","#","]","Karen","Simonyan",",","Andrew","Zisserman",".","Very","Deep","Convolutional","Networks","for","Large-Scale","Image","Recognition",".","ICLR","2015","."]
code: def __init__(self):
      super(VGG16, self).__init__()
      with self.init_scope():
          self.conv1_1 = L.Convolution2D(64, 3, pad=1)
          self.conv1_2 = L.Convolution2D(64, 3, pad=1)
  
          self.conv2_1 = L.Convolution2D(128, 3, pad=1)
          self.conv2_2 = L.Convolution2D(128, 3, pad=1)
  
          self.conv3_1 = L.Convolution2D(256, 3, pad=1)
          self.conv3_2 = L.Convolution2D(256, 3, pad=1)
          self.conv3_3 = L.Convolution2D(256, 3, pad=1)
  
          self.conv4_1 = L.Convolution2D(512, 3, pad=1)
          self.conv4_2 = L.Convolution2D(512, 3, pad=1)
          self.conv4_3 = L.Convolution2D(512, 3, pad=1)
          self.norm4 = Normalize(512, initial=initializers.Constant(20))
  
          self.conv5_1 = L.DilatedConvolution2D(512, 3, pad=1)
          self.conv5_2 = L.DilatedConvolution2D(512, 3, pad=1)
          self.conv5_3 = L.DilatedConvolution2D(512, 3, pad=1)
  
          self.conv6 = L.DilatedConvolution2D(1024, 3, pad=6, dilate=6)
          self.conv7 = L.Convolution2D(1024, 1)
  
imports: from __future__ import division
  import numpy
  import chainer
  import chainer.functions
  from chainer import initializers
  import chainer.links
  from chainercv.links.model.ssd import Multibox
  from chainercv.links.model.ssd import Normalize
  from chainercv.links.model.ssd import SSD
  from chainercv import utils
label_desc: Use image node_id 1 to create a new VGG16 object from inherited base classes: chainer with example: obj = VGG16()