CondConv: Conditionally Parameterized Convolutions for Efficient
  Inference
  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.
