CSP ResNet

Last updated on Feb 14, 2021

cspresnet50

Parameters 22 Million
FLOPs 6 Billion
File Size 82.66 MB
Training Data ImageNet
Training Resources
Training Time

Training Techniques Polynomial Learning Rate Decay, Weight Decay, SGD with Momentum, Label Smoothing
Architecture 1x1 Convolution, Bottleneck Residual Block, Batch Normalization, Convolution, Global Average Pooling, Residual Block, Residual Connection, ReLU, Max Pooling, Softmax
ID cspresnet50
LR 0.1
Layers 50
Crop Pct 0.887
Momentum 0.9
Batch Size 128
Image Size 256
Weight Decay 0.005
Interpolation bilinear
Training Steps 8000000
SHOW MORE
SHOW LESS
README.md

Summary

CSPResNet is a convolutional neural network where we apply the Cross Stage Partial Network (CSPNet) approach to ResNet. The CSPNet partitions the feature map of the base layer into two parts and then merges them through a cross-stage hierarchy. The use of a split and merge strategy allows for more gradient flow through the network.

How do I load this model?

To load a pretrained model:

import timm
m = timm.create_model('cspresnet50', pretrained=True)
m.eval()

Replace the model name with the variant you want to use, e.g. cspresnet50. You can find the IDs in the model summaries at the top of this page.

How do I train this model?

You can follow the timm recipe scripts for training a new model afresh.

Citation

@misc{wang2019cspnet,
      title={CSPNet: A New Backbone that can Enhance Learning Capability of CNN}, 
      author={Chien-Yao Wang and Hong-Yuan Mark Liao and I-Hau Yeh and Yueh-Hua Wu and Ping-Yang Chen and Jun-Wei Hsieh},
      year={2019},
      eprint={1911.11929},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Results

Image Classification on ImageNet

Image Classification
BENCHMARK MODEL METRIC NAME METRIC VALUE GLOBAL RANK
ImageNet cspresnet50 Top 1 Accuracy 79.57% # 114
Top 5 Accuracy 94.71% # 114