younetcq / BSConv

Reference implementation for Blueprint Separable Convolutions (https://arxiv.org/abs/2003.13549)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

You can now find us at CVPR 2020. Our live Q&A sessions are on June 18, 2020 @ 5pm - 7pm PDT (click here to join) and June 19, 2020 @ 5am - 7am PDT (click here to join). We are looking forward to seeing you at CVPR!


Blueprint Separable Convolutions (BSConv)

This repository provides code and trained models for the CVPR 2020 paper (official, arXiv):

Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNets

Daniel Haase*, Manuel Amthor*

Teaser GIF

Requirements

  • Python>=3.6
  • PyTorch>=1.0.0 (support for other frameworks will be added later)

Installation

pip install --upgrade bsconv

Usage

Demo GIF

See here for PyTorch usage details.

Support for other frameworks will be added later.

Please note that the code provided here is work-in-progress. Therefore, some features may be missing or may change between versions.

Change Log

0.3.0 (2020-06-16)

  • BSConv for PyTorch:
    • added ready-to-use model definitions (MobileNetV1, MobileNetV2, MobileNetsV3, ResNets and WRNs and their BSConv variants for CIFAR and ImageNet/fine-grained datasets)
    • added training script for CIFAR and ImageNet/fine-grained datasets
    • added class for the StanfordDogs dataset

0.2.0 (2020-04-16)

  • BSConv for PyTorch:
    • removed activation and added option for normalization of PW layers in BSConv-S (issue #1) (API change)
    • added option for normalization of PW layers in BSConv-U (API change)
    • ensure that BSConv-S never uses more mid channels (= M') than input channels (M) and added parameter min_mid_channels (= M'_min) (API change)
    • added model profiler for parameter and FLOP counting
    • replacer now shows number of old and new model parameters

0.1.0 (2020-04-08)

  • first public version
  • BSConv for PyTorch:
    • modules BSConvU and BSConvS
    • replacers BSConvU_Replacer and BSConvS_Replacer

Citation

If you find this work useful in your own research, please cite the paper as:

@InProceedings{Haase_2020_CVPR,
    author = {Haase, Daniel and Amthor, Manuel},
    title = {Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNets},
    booktitle = {The IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month = {June},
    year = {2020}
}

About

Reference implementation for Blueprint Separable Convolutions (https://arxiv.org/abs/2003.13549)

License:BSD 3-Clause Clear License


Languages

Language:Python 99.7%Language:Shell 0.3%