MUXConv: Information Multiplexing in Convolutional Neural Networks (CVPR '20), Pytorch Implementation
Source code
Contributors
Latest commits

MUXConv

Code accompanying the paper.

MUXConv: Information Multiplexing in Convolutional Neural Networks

Zhichao Lu, Kalyanmoy Deb, and Vishnu Boddeti

CVPR 2020

Requirements

Python >= 3.7.x, PyTorch >= 1.4.0, torchvision >= 0.5.0, timm == 0.1.14, 
torchprofile >= 0.0.1 (optional for calculating FLOPs)

ImageNet Classification

imagenet

Tranfer to CIFAR-10 and CIFAR-100

imagenet

Pretrained models

The easiest way to get started is to evaluate our pretrained MUXNet models. Pretrained models are available from Google Drive.

python eval.py --dataset [imagenet/cifar10/cifar100] \
	       --data /path/to/dataset --batch-size 128 \
	       --model [muxnet_s/muxnet_m/muxnet_l] \ 
	       --pretrained /path/to/pretrained/weights

Train

To re-train from scratch on ImageNet, use distributed_train.sh from pytorch-image-models and follow the recommended training hyperparameter setting for EfficientNet-B0.

To re-train on CIFAR (transfer) from ImageNet, run

python transfer_cifar.py --dataset [cifar10/cifar100] \
			 --data /path/to/dataset \
			 --model [muxnet_s/muxnet_m/muxnet_l] \
			 --imagenet /path/to/pretrained/imagenet/weights

Citation

If you find the code useful for your research, please consider citing our works

@article{muxconv,
  title={MUXConv: Information Multiplexing in Convolutional Neural Networks},
  author={Lu, Zhichao and Deb, Kalyanmoy and Boddeti, Vishnu},
  booktitle={CVPR},
  year={2020}
}

Acknowledgement

Codes heavily modified from pytorch-image-models and pytorch-cifar10.