whatisgithub

What is senet?

hujie-frank/senet — explained in plain English

Analysis updated 2026-05-18

3,631CudaAudience · researcherComplexity · 4/5Setup · hard

In one sentence

Official code and pre-trained models for Squeeze-and-Excitation Networks (SENet), an image recognition technique that won the 2017 ImageNet competition.

Mindmap

mindmap
  root((SENet))
    What it does
      Boosts image recognition accuracy
      Squeeze and excitation blocks
    Tech stack
      Caffe
      CUDA
    Models
      SE-ResNet
      SE-ResNeXt
      SENet-154
      SE-BN-Inception
    Use cases
      Image classification research
      Transfer learning backbone
    Audience
      Computer vision researchers
      ML engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Download pre-trained SENet weights to use as a backbone for image classification.

USE CASE 2

Reproduce the ILSVRC 2017 winning results reported in the CVPR 2018 paper.

USE CASE 3

Compare SE-ResNet, SE-ResNeXt, and SENet-154 accuracy on the ImageNet benchmark.

USE CASE 4

Study how squeeze-and-excitation blocks recalibrate channel importance in a CNN.

What is it built with?

CaffeCUDAC++Python

How does it compare?

hujie-frank/senetnvidia/cuoptstablemarkk/hash256_miner
Stars3,63190320
LanguageCudaCudaCuda
Setup difficultyhardhardmoderate
Complexity4/54/54/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires a working Caffe GPU environment, the official implementation is not actively maintained in newer frameworks.

So what is it?

This repository contains the official code and trained models for Squeeze-and-Excitation Networks (SENet), a research project from Momenta and the University of Oxford. The work was published at a major computer vision conference (CVPR 2018) and won first place at the ILSVRC 2017 image classification challenge, a large annual competition where teams try to correctly identify objects in photographs. The core idea is a small addition to existing image recognition network architectures. Standard image recognition networks process visual information channel by channel, where each channel captures a different type of pattern in an image. A Squeeze-and-Excitation block adds a short pathway that looks at all channels together, figures out which ones are most informative for a given image, and scales each channel's contribution up or down accordingly. This lets the network focus its attention on the most relevant features. The name comes from a "squeeze" step that compresses spatial information and an "excitation" step that recalibrates channel importance. The implementation uses Caffe, a deep learning framework designed for GPU-accelerated training. The repository includes configuration files for several model variants: SE-BN-Inception, SE-ResNet at multiple depths, SE-ResNeXt, and the flagship SENet-154. Pre-trained model weights for all of these are available for download. The table of results shows top-1 and top-5 error rates on the standard ImageNet benchmark. The README also notes two engineering choices made for efficiency: a custom combined layer that reduces memory use in networks with skip connections, and a rewritten global average pooling operation that runs faster on GPU than the version built into Caffe. Third-party re-implementations in TensorFlow, PyTorch, MXNet, and other frameworks are linked but not maintained in this repository.

Copy-paste prompts

Prompt 1
Explain how a Squeeze-and-Excitation block works using the description in this repo.
Prompt 2
Help me set up Caffe to load one of the pre-trained SENet models from this repository.
Prompt 3
Compare the top-1 and top-5 error rates of the SENet model variants listed here.
Prompt 4
Point me to a PyTorch or TensorFlow re-implementation of SENet mentioned in this repo.

Frequently asked questions

What is senet?

Official code and pre-trained models for Squeeze-and-Excitation Networks (SENet), an image recognition technique that won the 2017 ImageNet competition.

What language is senet written in?

Mainly Cuda. The stack also includes Caffe, CUDA, C++.

How hard is senet to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is senet for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.