From 682ebdcd7b7828c7b477c1f6a7d28a91b0341baa Mon Sep 17 00:00:00 2001 From: Vasilis Vryniotis Date: Mon, 11 Oct 2021 18:02:47 +0100 Subject: [PATCH] Fixing bug on SSD backbone freezing. --- torchvision/models/detection/ssd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/models/detection/ssd.py b/torchvision/models/detection/ssd.py index ef68c0279be..c7d74b4e1af 100644 --- a/torchvision/models/detection/ssd.py +++ b/torchvision/models/detection/ssd.py @@ -532,7 +532,7 @@ def _vgg_extractor(backbone_name: str, highres: bool, progress: bool, pretrained backbone = vgg.__dict__[backbone_name](pretrained=pretrained, progress=progress).features # Gather the indices of maxpools. These are the locations of output blocks. - stage_indices = [i for i, b in enumerate(backbone) if isinstance(b, nn.MaxPool2d)] + stage_indices = [0] + [i for i, b in enumerate(backbone) if isinstance(b, nn.MaxPool2d)][:-1] num_stages = len(stage_indices) # find the index of the layer from which we wont freeze @@ -602,7 +602,7 @@ def ssd300_vgg16( warnings.warn("The size of the model is already fixed; ignoring the argument.") trainable_backbone_layers = _validate_trainable_layers( - pretrained or pretrained_backbone, trainable_backbone_layers, 5, 5 + pretrained or pretrained_backbone, trainable_backbone_layers, 5, 4 ) if pretrained: