liyunsheng13 / micronet

MIT License
331 stars 27 forks source link

MicroNet: Improving Image Recognition with Extremely Low FLOPs (ICCV 2021)

A pytorch implementation of MicroNet. If you use this code in your research please consider citing

@article{li2021micronet, title={MicroNet: Improving Image Recognition with Extremely Low FLOPs}, author={Li, Yunsheng and Chen, Yinpeng and Dai, Xiyang and Chen, Dongdong and Liu, Mengchen and Yuan, Lu and Liu, Zicheng and Zhang, Lei and Vasconcelos, Nuno}, journal={arXiv preprint arXiv:2108.05894}, year={2021} }

Requirements

Models

Model #Param MAdds Top-1 download
MicroNet-M3 2.6M 21M 62.5 model
MicroNet-M2 2.4M 12M 59.4 model
MicroNet-M1 1.8M 6M 51.4 model
MicroNet-M0 1.0M 4M 46.6 model

Evaluate MicroNet on ImageNet

Download the pretrained MicroNet M0-M3 with the link above. The scripts used for evaluation can be found here. For example, if you want to test MicroNet-M3, you can use the following command.

sh scripts/eval_micronet_m3.sh /path/to/imagenet /path/to/output /path/to/pretrained_model

Train MicroNet on ImageNet

The scripts used for training MicroNet M0-M3 can be found here and can be implemented as follows (You can choose to use different scripts for 2 gpu or 4 gpu training based on the resources you can access).

sh scripts/train_micronet_m3_4gpu.sh /path/to/imagenet /path/to/output