explaingit

kaiminghe/deep-residual-networks

6,734Audience · researcherComplexity · 3/5Setup · hard

TLDR

The original pre-trained ResNet model weights (ResNet-50, 101, 152) from the team that won the 2015 ImageNet competition, released in Caffe format for fine-tuning or testing on image tasks.

Mindmap

mindmap
  root((deep-residual-networks))
    What it is
      Pre-trained weights
      ResNet 50 101 152
      2015 ImageNet winner
    Tech stack
      Caffe format native
      PyTorch TensorFlow ports
    Use cases
      Fine-tuning
      Benchmarking
      Model porting
    Audience
      ML researchers
      Computer vision devs
Click or tap to explore — scroll the page freely

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

Things people build with this

USE CASE 1

Fine-tune ResNet-50, 101, or 152 on your own image dataset using the original 2015 ImageNet weights as a starting point.

USE CASE 2

Reproduce the published ImageNet benchmark accuracy numbers to verify your training setup.

USE CASE 3

Port the Caffe model weights to PyTorch or TensorFlow via one of the listed third-party re-implementations.

Tech stack

CaffePyTorchTensorFlowKeras

Getting it running

Difficulty · hard Time to first run · 1h+

Models are in Caffe format, using them in PyTorch or TensorFlow requires a third-party conversion script and matching the exact momentum convention.

No explicit license is stated in the repository.

In plain English

This repository provides the original pre-trained model weights for the deep residual networks described in the research paper "Deep Residual Learning for Image Recognition," published in 2015 by Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun at Microsoft Research Asia. The paper introduced ResNets, a type of neural network architecture that added shortcut connections between layers, allowing much deeper networks to be trained without the accuracy degradation that previously made very deep networks impractical. The models included here (ResNet-50, ResNet-101, and ResNet-152, where the number indicates layer count) are the exact ones used in the 2015 ImageNet Large Scale Visual Recognition Challenge and COCO competition, where they placed first in image classification, detection, localization, and segmentation tasks. These results helped establish residual networks as a standard building block in image recognition research. The files are in Caffe format and are intended for testing or fine-tuning to new tasks, not for training from scratch with the provided code. The README includes notes on known differences between training environments that could affect accuracy. It also warns that the momentum formula in Caffe differs from versions used in frameworks like Torch or CNTK, which matters when porting models. Benchmark accuracy numbers are provided: ResNet-152 achieves around 23% top-1 error on ImageNet using a single center crop, compared to about 28.5% for VGG-16, a previous standard architecture. The README also lists over ten third-party re-implementations in PyTorch, TensorFlow, Keras, and other frameworks for those who prefer a different training environment.

Copy-paste prompts

Prompt 1
I have the ResNet-152 Caffe weights from kaiminghe/deep-residual-networks. How do I convert them to PyTorch and fine-tune on a custom 10-class image dataset?
Prompt 2
Using the pre-trained ResNet-50 from kaiminghe/deep-residual-networks, write Python code to load it in Caffe and run inference on a single image, printing top-5 predicted labels.
Prompt 3
Explain the momentum formula difference between Caffe and PyTorch that the deep-residual-networks README warns about, and show how to compensate when porting weights.
Prompt 4
How do I evaluate ResNet-152 top-1 error on an ImageNet validation set using the kaiminghe Caffe weights and compare to the 23% benchmark in the README?
Open on GitHub → Explain another repo

← kaiminghe on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.