@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.
Mobile settings | GPU settings | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||||||||||||||||||||||||||||||
2.6% better than MobilenetV2 with same speed. | 3.1% better than MobilenetV2 with 20% faster. |
ProxylessNAS consistently outperforms MobileNetV2 under various latency settings.
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.
-
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