MobileNetV3 in PyTorch

An implementation of MobileNetV3 in PyTorch. MobileNetV3 is an efficient convolutional neural network architecture for mobile devices. For more information check the paper: Searching for MobileNetV3

Usage

Clone the repo:

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

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

python3 -m torch.distributed.launch --nproc_per_node=8 imagenet.py --dataroot "/path/to/imagenet/" --sched clr -b 128 --seed 42 --world-size 8 --sync-bn```

To continue training from checkpoint

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

Results

WIP

Classification Checkpoint MACs (M) Parameters (M) Top-1 Accuracy Top-5 Accuracy Claimed top-1 Claimed top-5 Inference time
MobileNetV3 Large x1.0 224 219.80 5.481 73.53 91.14 75.2 - ~258ms
mobilenet_v2_1.0_224 300 3.47 72.10 90.48 71.8 91.0 ~461ms

Inference time is for single 1080 ti per batch of 128.

You can test it with

python imagenet.py --dataroot "/path/to/imagenet/" --resume "results/mobilenetv3large-v1/model_best0.pth.tar" -e

Other implementations

Code used