Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Improved Residual Networks

This is a PyTorch implementation of "Improved Residual Networks for Image and Video Recognition" paper:

  author  = {Ionut Cosmin Duta and Li Liu and Fan Zhu and Ling Shao},
  title   = {Improved Residual Networks for Image and Video Recognition},
  journal = {arXiv preprint arXiv:2004.04989},
  year    = {2020},

The models trained on ImageNet can be found here.

The iResNet (improved residual network) is able to improve the baseline (ResNet) in terms of recognition performance without increasing the number of parameters and computational costs. The iResNet is very effective in training very deep models (see the paper for details).

The accuracy on ImageNet (using the default training settings):

Network 50-layers 101-layers 152-layers 200-layers
ResNet 76.12% (model) 78.00% (model) 78.45% (model) 77.55% (model)
iResnet 77.31% (model) 78.64% (model) 79.34% (model) 79.48% (model)


Install PyTorch and ImageNet dataset following the official PyTorch ImageNet training code.

A fast alternative (without the need to install PyTorch and other deep learning libraries) is to use NVIDIA-Docker, we used this container image.


To train a model (for instance, iResNet with 50 layers) using DataParallel run; you need also to provide result_path (the directory path where to save the results and logs) and the --data (the path to the ImageNet dataset):

mkdir -p ${result_path}
python \
--data /your/path/to/ImageNet/dataset/ \
--result_path ${result_path} \
--arch iresnet \
--model_depth 50

To train using Multi-processing Distributed Data Parallel Training follow the instructions in the official PyTorch ImageNet training code.

You can’t perform that action at this time.