CSP DarkNet

Last updated on Feb 14, 2021

cspdarknet53

Parameters 28 Million
FLOPs 9 Billion
File Size 105.64 MB
Training Data ImageNet
Training Resources 1x NVIDIA RTX 2070 GPU
Training Time

Training Techniques Polynomial Learning Rate Decay, Self-Adversarial Training, Weight Decay, SGD with Momentum, Label Smoothing, Mosaic, CutMix
Architecture 1x1 Convolution, Batch Normalization, Convolution, Global Average Pooling, Mish, Residual Connection, Softmax
ID cspdarknet53
LR 0.1
Layers 53
Crop Pct 0.887
Momentum 0.9
Batch Size 128
Image Size 256
Warmup Steps 1000
Weight Decay 0.0005
Interpolation bilinear
Training Steps 8000000
FPS (GPU RTX 2070) 66
SHOW MORE
SHOW LESS
README.md

Summary

CSPDarknet53 is a convolutional neural network and backbone for object detection that uses DarkNet-53. It employs a CSPNet strategy to partition 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.

This CNN is used as the backbone for YOLOv4.

How do I load this model?

To load a pretrained model:

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

Replace the model name with the variant you want to use, e.g. cspdarknet53. 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{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection}, 
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Results

Image Classification on ImageNet

Image Classification
BENCHMARK MODEL METRIC NAME METRIC VALUE GLOBAL RANK
ImageNet cspdarknet53 Top 1 Accuracy 80.05% # 98
Top 5 Accuracy 95.09% # 98