Home

Awesome

ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware [arXiv] [Poster]

@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},
}

News

Performance

Without any proxy, directly and efficiently search neural network architectures on your target task and hardware!

Now, proxylessnas is on PyTorch Hub. You can load it with only two lines!

target_platform = "proxyless_cpu" # proxyless_gpu, proxyless_mobile, proxyless_mobile14 are also avaliable.
model = torch.hub.load('mit-han-lab/ProxylessNAS', target_platform, pretrained=True)

<p align="center"> <img src="assets/proxyless_bar.png" width="80%" /> </p>

<table> <tr> <th> Mobile settings </th><th> GPU settings </th> </tr> <tr> <td> <img src="assets/proxyless_vs_mobilenet.png" width="100%" /> </td> <td>
ModelTop-1Top-5Latency
MobilenetV272.091.06.1ms
ShufflenetV2(1.5)72.6-7.3ms
ResNet-3473.391.48.0ms
MNasNet(our impl)74.091.86.1ms
ProxylessNAS (GPU)75.192.55.1ms
</td> </tr> <tr> <th> ProxylessNAS(Mobile) consistently outperforms MobileNetV2 under various latency settings. </th> <th> ProxylessNAS(GPU) is 3.1% better than MobilenetV2 with 20% faster. </th> </tr> </td></tr> </table>

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.

We provide a visualization of search process. Please refer to our paper for more results.

How to use / evaluate

File structure

Projects with ProxylessNAS:

<div align=center> <img src="proxyless_gaze/assets/rpi4_demo.gif" style="width:100%"></img> </div>

Related work on automated model compression and acceleration:

Once for All: Train One Network and Specialize it for Efficient Deployment (ICLR'20, code)

ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware (ICLR’19)

AMC: AutoML for Model Compression and Acceleration on Mobile Devices (ECCV’18)

HAQ: Hardware-Aware Automated Quantization (CVPR’19, oral)

Defenstive Quantization: When Efficiency Meets Robustness (ICLR'19)