The 2017 ImageNet winner, rebuilt for PyTorch
It reimplements the ILSVRC 2017 winning SENet architecture in PyTorch, wrapping SE blocks into standard ResNet and Inception backbones.

What it does
This repo implements SENet—the architecture that won the ILSVRC 2017 classification competition—in PyTorch. It covers SE-ResNet variants (18, 34, 50, 101, 152, 20, 32) and SE-Inception-v3, and includes training scripts for CIFAR-10 and ImageNet. A pretrained SE-ResNet50 checkpoint is available, and several models can be loaded via torch.hub.
The interesting bit
The README frames SENet as a surgical upgrade to standard backbones rather than a new architecture family. The reported tables show SE-ResNet20 beating plain ResNet20 by one percentage point on CIFAR-10, and SE-ResNet50 improving ImageNet top-1 by roughly a point over the torchvision ResNet-50 baseline. The implication is that SE blocks are a low-friction way to nudge familiar models upward.
Key highlights
- SE-ResNet20 hits 93% on CIFAR-10, compared to 92% for plain ResNet20.
- SE-ResNet50 reaches 77.06% ImageNet top-1 accuracy when trained with the distributed script on 8 GPUs; the author provides a downloadable weight file.
- SE-ResNet20, 56, 50, and 101 are accessible via
torch.hub, including a pretrained SE-ResNet50. - The ImageNet script supports distributed training across multiple GPUs.
- Training scripts depend on the external
homuralibrary.
Caveats
- The author warns that initial learning rates and batch sizes differ from the original paper due to limited computational resources, so exact reproduction is not guaranteed.
- The author explicitly states they cannot maintain the repository actively.
Verdict
A solid reference implementation if you want pretrained SENet weights or torch.hub convenience in PyTorch. Look elsewhere if you need active upkeep or a faithful reproduction of the original training recipe.
Frequently asked
- What is moskomule/senet.pytorch?
- It reimplements the ILSVRC 2017 winning SENet architecture in PyTorch, wrapping SE blocks into standard ResNet and Inception backbones.
- Is senet.pytorch open source?
- Yes — moskomule/senet.pytorch is open source, released under the MIT license.
- What language is senet.pytorch written in?
- moskomule/senet.pytorch is primarily written in Python.
- How popular is senet.pytorch?
- moskomule/senet.pytorch has 2.3k stars on GitHub.
- Where can I find senet.pytorch?
- moskomule/senet.pytorch is on GitHub at https://github.com/moskomule/senet.pytorch.