This is a complete implementation of MobileNetv2 in PyTorch which can be trained on CIFAR10, CIFAR100 or your own dataset. This network comes from the paper below
Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation https://arxiv.org/abs/1801.04381v3
In this network, an inverted residual structure and depthwise convolution is used. Please refer to that paper for more detailed information
Usage
This project is compiled and run on Python 2.7 and PyTorch 0.4.0 Here are some necessaries dependencies:
Download CIFAR10 or CIFAR100 dataset or prepare your own dataset like a dataloader defined in PyTorch
Modify config.py into your own configuration, eg. change image_size or something
Run python main.py --dataset cifar10 --root /your/path/to/dataset/
Tensorboard is also available, just use
tensorboard --logdir=./exp_dir/summaries
logdir is also changable in config.py
I compared my implementation with the implementation of MG2033, for he has many stars, is quite confusing that my implementation on cifar100 has about 8% higher accuracy-74% vs 66%, my training policy is the same with his.