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
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"
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
- https://github.com/d-li14/mobilenetv3.pytorch : 73.152% top-1, with more FLOPs
- https://github.com/xiaolai-sqlai/mobilenetv3 : 75.45% top-1, even more FLOPs
- https://github.com/rwightman/gen-efficientnet-pytorch : 75.634% top-1, seems to be right FLOPs