Пример #1
0
 def __init__(self, num_classes):
     super(SSD, self).__init__()
     self.arch = 'ssd300'
     self.num_classes = num_classes
     self.vgg16_conv4, self.vgg16_conv7 = create_vgg16_layers()
     self.batch_norm = layers.BatchNormalization(
         beta_initializer='glorot_uniform',
         gamma_initializer='glorot_uniform'
     )
     self.extra_layers = create_extra_layers()
     self.conf_head_layers = create_conf_head_layers(num_classes)
     self.loc_head_layers = create_loc_head_layers()
Пример #2
0
    def __init__(self, num_classes, arch='ssd300'):
        super(SSD, self).__init__()
        self.num_classes = num_classes
        vgg16_layers = create_vgg16_layers()
        extra_layers = create_extra_layers()
        conf_head_layers = create_conf_head_layers(num_classes)
        loc_head_layers = create_loc_head_layers()

        if arch == 'ssd300':
            # Delete the 12th block
            # if the architecture is SSD300
            extra_layers.pop(-1)
            conf_head_layers.pop(-2)
            loc_head_layers.pop(-2)

        self.vgg16_layers = nn.ModuleList(vgg16_layers)
        self.batch_norm = nn.BatchNorm2d(512)
        self.extra_layers = nn.ModuleList(extra_layers)
        self.conf_head_layers = nn.ModuleList(conf_head_layers)
        self.loc_head_layers = nn.ModuleList(loc_head_layers)