Skip to content

Commit f87b024

Browse files
datumboxfacebook-github-bot
authored andcommitted
[fbsync] Fix bug on detection backbones when trainable_layers == 0 (#3906)
Summary: * Fix a bug when trainable_layers == 0 * Fix same issue on ssd. Reviewed By: vincentqb, cpuhrsch Differential Revision: D28679976 fbshipit-source-id: 79061750c7bb6b3d9f069056df15f6d682c3ca56
1 parent dd16902 commit f87b024

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

torchvision/models/detection/backbone_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def mobilenet_backbone(
151151

152152
# find the index of the layer from which we wont freeze
153153
assert 0 <= trainable_layers <= num_stages
154-
freeze_before = num_stages if trainable_layers == 0 else stage_indices[num_stages - trainable_layers]
154+
freeze_before = len(backbone) if trainable_layers == 0 else stage_indices[num_stages - trainable_layers]
155155

156156
for b in backbone[:freeze_before]:
157157
for parameter in b.parameters():

torchvision/models/detection/ssd.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ def _vgg_extractor(backbone_name: str, highres: bool, progress: bool, pretrained
510510

511511
# find the index of the layer from which we wont freeze
512512
assert 0 <= trainable_layers <= num_stages
513-
freeze_before = num_stages if trainable_layers == 0 else stage_indices[num_stages - trainable_layers]
513+
freeze_before = len(backbone) if trainable_layers == 0 else stage_indices[num_stages - trainable_layers]
514514

515515
for b in backbone[:freeze_before]:
516516
for parameter in b.parameters():

torchvision/models/detection/ssdlite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ def _mobilenet_extractor(backbone_name: str, progress: bool, pretrained: bool, t
147147

148148
# find the index of the layer from which we wont freeze
149149
assert 0 <= trainable_layers <= num_stages
150-
freeze_before = num_stages if trainable_layers == 0 else stage_indices[num_stages - trainable_layers]
150+
freeze_before = len(backbone) if trainable_layers == 0 else stage_indices[num_stages - trainable_layers]
151151

152152
for b in backbone[:freeze_before]:
153153
for parameter in b.parameters():

0 commit comments

Comments
 (0)