@inproceedings{
cai2018proxylessnas,
title={Proxyless{NAS}: Direct Neural Architecture Search on Target Task and Hardware},
author={Han Cai and Ligeng Zhu and Song Han},
booktitle={International Conference on Learning Representations},
year={2019},
url={https://arxiv.org/pdf/1812.00332.pdf},
}
Without any proxy, directly search neural network architectures on your target task and hardware!
- PyTorch 0.3.1 or Tensorflow 1.5
- Python 3.6
- Dec-21-2018: TensorFlow pretrained models are released.
- Dec-01-2018: PyTorch pretrained models are released.
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
# pytorch from proxyless_nas import proxyless_cpu, proxyless_gpu, proxyless_mobile, proxyless_mobile_14 net = proxyless_cpu(pretrained=True) # Yes, we provide pre-trained models!
# tensorflow from proxyless_nas_tensorflow import proxyless_cpu, proxyless_gpu, proxyless_mobile, proxyless_mobile_14 tf_net = proxyless_cpu(pretrained=True)
-
Evaluate
python eval.py --path 'Your path to imagent' --arch proxyless_cpu # pytorch
python eval_tf.py --path 'Your path to imagent' --arch proxyless_cpu # tensorflow