SE-ResNet-50 feature-extracting backbone (no classification head).
Builds an SENet with ResNet-50 topology
(_SEBottleneck blocks stacked [3, 4, 6, 3]) plus
squeeze-and-excitation modules at the end of every bottleneck.
Approximately 28.1M parameters — about 10% more than plain
ResNet-50 — and 76.71% ImageNet-1k top-1 accuracy in Hu et al.,
2018 (Table 2: 23.29% top-1 error) versus 75.20% for their
re-implemented ResNet-50 baseline. The most widely deployed SE
variant. (The shipped checkpoint's own metric is recorded in
_weights.py and differs from the paper's number.)
Model Size
Parameters
pretrainedbool= Falsese_resnet_50, so True raises
NotImplementedError rather than return randomly initialised weights.
se_resnet_50_cls is the checkpointed variant.**overridesobject= {}SENetConfig.Returns
SENetBackbone with the SE-ResNet-50 configuration applied (or
with overrides merged on top of it).
Notes
See Hu et al., "Squeeze-and-Excitation Networks", CVPR 2018 (arXiv:1709.01507), Table 2. Final-stage output is 2048 channels.
Examples
>>> import lucid
>>> from lucid.models.vision.senet import se_resnet_50
>>> model = se_resnet_50()
>>> x = lucid.randn(1, 3, 224, 224)
>>> out = model(x)
>>> out.last_hidden_state.shape
(1, 2048, 7, 7)