2anchao / VoVNet.pytorch

A pytorch implementation of VoVNet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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
    • CUDA v9.2, cuDNN v7.3, pytorch 1.0
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 ms
ResNet-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

  1. python 3.6
  2. Install pytorch > 0.4
  3. git clone https://github.com/stigma0617/VoVNet.pytorch.git
  4. 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

  • VoVNet-27-slim
  • VoVNet-27-slim-depthwise
  • VoVNet-99

About

A pytorch implementation of VoVNet


Languages

Language:Python 100.0%