A pytorch Implementation of VoVNet Backbone Networks This is a pytorch implementation of VoVNet backbone networks as described in the paper An Energy and GPU-Computation Efficient Backbone Network for Real-Time Object Detection . This is implemented through pytorch/vision style.
What does this repo provide? This repo provides VoVNet-39/57 models trained on ImageNet classification dataset with same training protocols as pytorch/examples/imagenet (e.g., 128 batch size, 90 epoch, data augmentations, lr_policy, etc) and compares to ResNet and DenseNet.
ImageNet results Notes: For fair comparison, same training protocols used as pytorch/examples/imagenet
90 epoch
step learning rate schedule (learning rate decayed at every 30 epoch)
256 batch size
default augmentations (e.g., crop, flip, same mean/std normalization)
@224x224 training/validation
Inference time is measured on TITAN X PASCAL GPU
Model Top-1 Top-5 Inference time ResNet-50 23.85% 7.13% 12 ms DenseNet-201 22.80% 6.43% 39 ms VoVNet-39 23.23% 6.57% 10 msResNet-101 22.63% 6.44% 20 ms DenseNet-161 22.35% 6.20% 27 ms VoVNet-57 22.27 %6.28 %13 ms
Pretrained models Training & Inferecne Installation python 3.6
Install pytorch > 0.4
git clone https://github.com/stigma0617/VoVNet.pytorch.git
install depenecies : pip install -r requirements.txt
Imagenet data preparation You can follow the instruction of pytorch/examples/imagenet
Train run main.py
specifying data path, the desired model name--arch
, and save-directory--savedir
.
python main.py [imagenet-folder with train and val folders] --arch vovnet39 --savedir VoVNet39 Related projects VoVNet-Detectron VoVNet-DeepLabV3
TO DO