GitHub - MIT-HAN-LAB/ProxylessNAS: ProxylessNAS: Direct Neural Architecture Sear...
source link: https://github.com/MIT-HAN-LAB/ProxylessNAS
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
@article{cai2018proxylessnas, title={ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware}, author={Cai, Han and Zhu, Ligeng and Han, Song}, journal={arXiv preprint arXiv:1812.00332}, year={2018} }
Without any proxy, directly search neural network architectures on your target task and hardware!
Note: our code is developed in PyTorch 0.3, and has been tested in both 0.3 and 0.4.
Performance
Mobile settings GPU settings Model Top-1 Top-5 Latency MobilenetV1 70.6 89.5 113ms MobilenetV2 72.0 91.0 75ms MNasNet(our impl) 74.0 91.8 79ms ProxylessNAS (mobile) 74.6 92.2 78ms
Model Top-1 Top-5 Latency MobilenetV2 72.0 91.0 6.1ms ShufflenetV2(1.5) 72.6 - 7.3ms ResNet-34 73.3 91.4 8.0ms MNasNet(our impl) 74.0 91.8 6.1ms ProxylessNAS (GPU) 75.1 92.5 5.1ms
2.6% better than MobilenetV2 with same speed. 3.1% better than MobilenetV2 with 20% faster.
ProxylessNAS consistently outperforms MobileNetV2 under various latency settings.
Specialization
People used to deploy one model to all platforms, but this is not good. To fully exploit the efficiency, we should specialize architectures for each platform.
Please refer to our paper for more results.
How to use / evaluate
-
Use
from proxyless_nas import proxyless_cpu, proxyless_gpu, proxyless_mobile net = proxyless_cpu(pretrained=True) # Yes, we provide pre-trained models!
-
Evaluate
python eval.py --path 'Your path to imagent' --arch proxyless_cpu
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK