CondConv: Conditionally Parameterized Convolutions for Efficient Inference
Brandon Yang, Gabriel Bender, Quoc V. Le, Jiquan Ngiam
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/hey-yahei/CondConv.MXNetmxnet★ 0
- github.com/tensorflow/tpu/tree/master/models/official/efficientnet/condconvtf★ 0
- github.com/prstrive/CondConv-tensorflowtf★ 0
- github.com/mindspore-courses/External-Attention-MindSpore/blob/main/model/conv/CondConv.pymindspore★ 0
- github.com/rwightman/gen-efficientnet-pytorchpytorch★ 0
- github.com/hangg7/deformable-kernels/pytorch★ 0
- github.com/hangg7/deformable-kernelspytorch★ 0
Abstract
Convolutional layers are one of the basic building blocks of modern deep neural networks. One fundamental assumption is that convolutional kernels should be shared for all examples in a dataset. We propose conditionally parameterized convolutions (CondConv), which learn specialized convolutional kernels for each example. Replacing normal convolutions with CondConv enables us to increase the size and capacity of a network, while maintaining efficient inference. We demonstrate that scaling networks with CondConv improves the performance and inference cost trade-off of several existing convolutional neural network architectures on both classification and detection tasks. On ImageNet classification, our CondConv approach applied to EfficientNet-B0 achieves state-of-the-art performance of 78.3% accuracy with only 413M multiply-adds. Code and checkpoints for the CondConv Tensorflow layer and CondConv-EfficientNet models are available at: https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/condconv.
Tasks
Benchmark Results
| Dataset | Model | Metric | Claimed | Verified | Status |
|---|---|---|---|---|---|
| ImageNet | EfficientNet-B0 (CondConv) | Top 1 Accuracy | 78.3 | — | Unverified |