/MobileNetV2-pytorch

Impementation of MobileNetV2 in pytorch

Primary LanguagePythonMIT LicenseMIT

MobileNetv2 in PyTorch

An implementation of MobileNetv2 in PyTorch. MobileNetv2 is an efficient convolutional neural network architecture for mobile devices. For more information check the paper: Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation

Usage

Clone the repo:

git clone https://github.com/Randl/MobileNetV2-pytorch
pip install -r requirements.txt

Use the model defined in model.py to run ImageNet example:

python imagenet.py --dataroot "/path/to/imagenet/"

To run continue training from checkpoint

python imagenet.py --dataroot "/path/to/imagenet/" --resume "/path/to/checkpoint/folder"

Results

For x1.0 model I achieved 0.3% higher top-1 accuracy than claimed.

Classification Checkpoint MACs (M) Parameters (M) Top-1 Accuracy Top-5 Accuracy Claimed top-1 Claimed top-5
[mobilenet_v2_1.0_224] 300 3.47 72.10 90.48 71.8 91.0
[mobilenet_v2_0.5_160] 50 1.95 60.61 82.87 61.0 83.2

You can test it with

python imagenet.py --dataroot "/path/to/imagenet/" --resume "results/mobilenet_v2_1.0_224/model_best.pth.tar" -e
python imagenet.py --dataroot "/path/to/imagenet/" --resume "results/mobilenet_v2_0.5_160/model_best.pth.tar" -e --scaling 0.5 --input-size 160