Giter VIP home page Giter VIP logo

pyconv's Introduction

Pyramidal Convolution

This is the PyTorch implementation of our paper "Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition". (Note that this is the code for image recognition on ImageNet. For semantic image segmentation/parsing refer to this repository: https://github.com/iduta/pyconvsegnet)

Pyramidal Convolution: PyConv

The models trained on ImageNet can be found here.

PyConv is able to provide improved recognition capabilities over the baseline (see the paper for details).

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

Network 50-layers 101-layers 152-layers
ResNet 76.12% (model) 78.00% (model) 78.45% (model)
PyConvHGResNet 78.48% (model) 79.22% (model) 79.36% (model)
PyConvResNet 77.88% (model) 79.01% (model) 79.52% (model)

The accuracy on ImageNet can be significantly improved using more complex training settings (for instance, using additional data augmentation (CutMix), increase bach size to 1024, learning rate of 0.4, cosine scheduler over 300 epochs and use mixed precision to speed-up training):

Network test crop: 224ร—224 test crop: 320ร—320
PyConvResNet-50 (+augment) 79.44 80.59 (model)
PyConvResNet-101 (+augment) 80.58 81.49 (model)

Requirements

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.

Training

To train a model (for instance, PyConvResNet with 50 layers) using DataParallel run main.py; 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):

result_path=/your/path/to/save/results/and/logs/
mkdir -p ${result_path}
python main.py \
--data /your/path/to/ImageNet/dataset/ \
--result_path ${result_path} \
--arch pyconvresnet \
--model_depth 50

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

Citation

If you find our work useful, please consider citing:

@article{duta2020pyramidal,
  author  = {Ionut Cosmin Duta and Li Liu and Fan Zhu and Ling Shao},
  title   = {Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition},
  journal = {arXiv preprint arXiv:2006.11538},
  year    = {2020},
}

pyconv's People

Contributors

iduta avatar cclauss avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.