@@ -587,12 +587,34 @@ def __init__(self, backbone: resnet.ResNet):
587
587
backbone_out_channels = self .features [- 1 ][- 1 ].bn3 .num_features
588
588
extra = nn .ModuleList ([
589
589
nn .Sequential (
590
- nn .Conv2d (backbone_out_channels , 256 , kernel_size = 3 , padding = 1 , stride = 2 , bias = False ),
590
+ nn .Conv2d (backbone_out_channels , 256 , kernel_size = 1 , bias = False ),
591
+ nn .BatchNorm2d (256 ),
592
+ nn .ReLU (inplace = True ),
593
+ nn .Conv2d (256 , 512 , kernel_size = 3 , padding = 1 , stride = 2 , bias = False ),
594
+ nn .BatchNorm2d (512 ),
595
+ nn .ReLU (inplace = True ),
596
+ ),
597
+ nn .Sequential (
598
+ nn .Conv2d (512 , 128 , kernel_size = 1 , bias = False ),
599
+ nn .BatchNorm2d (128 ),
600
+ nn .ReLU (inplace = True ),
601
+ nn .Conv2d (128 , 256 , kernel_size = 3 , padding = 1 , stride = 2 , bias = False ),
591
602
nn .BatchNorm2d (256 ),
592
603
nn .ReLU (inplace = True ),
593
604
),
594
605
nn .Sequential (
595
- nn .Conv2d (256 , 256 , kernel_size = 3 , padding = 1 , stride = 2 , bias = False ),
606
+ nn .Conv2d (256 , 128 , kernel_size = 1 , bias = False ),
607
+ nn .BatchNorm2d (128 ),
608
+ nn .ReLU (inplace = True ),
609
+ nn .Conv2d (128 , 256 , kernel_size = 3 , bias = False ),
610
+ nn .BatchNorm2d (256 ),
611
+ nn .ReLU (inplace = True ),
612
+ ),
613
+ nn .Sequential (
614
+ nn .Conv2d (256 , 128 , kernel_size = 1 , bias = False ),
615
+ nn .BatchNorm2d (128 ),
616
+ nn .ReLU (inplace = True ),
617
+ nn .Conv2d (128 , 256 , kernel_size = 2 , bias = False ),
596
618
nn .BatchNorm2d (256 ),
597
619
nn .ReLU (inplace = True ),
598
620
),
@@ -636,7 +658,9 @@ def ssd512_resnet50(pretrained: bool = False, progress: bool = True, num_classes
636
658
pretrained_backbone = False
637
659
638
660
backbone = _resnet_extractor ("resnet50" , pretrained_backbone , trainable_backbone_layers )
639
- anchor_generator = DefaultBoxGenerator ([[2 ], [2 , 3 ], [2 , 3 ], [2 , 3 ], [2 ]], min_ratio = 0.04 )
661
+ anchor_generator = DefaultBoxGenerator ([[2 ], [2 , 3 ], [2 , 3 ], [2 , 3 ], [2 ], [2 ], [2 ]],
662
+ scales = [0.04 , 0.1 , 0.26 , 0.42 , 0.58 , 0.74 , 0.9 , 1.06 ],
663
+ steps = [8 , 16 , 32 , 64 , 128 , 256 , 512 ])
640
664
model = SSD (backbone , anchor_generator , (512 , 512 ), num_classes , ** kwargs )
641
665
if pretrained :
642
666
weights_name = 'ssd512_resnet50_coco'
0 commit comments