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!
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*
Python>=3.6
PyTorch>=1.0.0
(support for other frameworks will be added later)
pip install --upgrade bsconv
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.
- 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
- 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
- first public version
- BSConv for PyTorch:
- modules
BSConvU
andBSConvS
- replacers
BSConvU_Replacer
andBSConvS_Replacer
- modules
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}
}