GitPedia

Proxylessnas

[ICLR 2019] ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware

From mit-han-lab·Updated June 3, 2026·View on GitHub·

- ProxylessNAS is integrated into [PytorchHub](https://pytorch.org/hub/pytorch_vision_proxylessnas/). - ProxylessNAS is integrated into Microsoft [NNI](https://nni.readthedocs.io/en/v1.6/NAS/Proxylessnas.html). - ProxylessNAS is integrated into Amazon [AutoGluon](https://auto.gluon.ai/0.3.0/tutorials/nas/enas_proxylessnas.html). - First place in the Visual Wake Words Challenge, TF-lite track, @CVPR 2019 - Third place in the Low Power Image Recognition Challenge (LPIRC), classification track, @CV... The project is written primarily in C++, distributed under the MIT License license, first published in 2018. It has gained significant community traction with 1,447 stars and 284 forks on GitHub. Key topics include: acceleration, automl, efficient-model, hardware-aware, on-device-ai.

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

bash
@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

  • ProxylessNAS is integrated into PytorchHub.
  • ProxylessNAS is integrated into Microsoft NNI.
  • ProxylessNAS is integrated into Amazon AutoGluon.
  • First place in the Visual Wake Words Challenge, TF-lite track, @CVPR 2019
  • Third place in the Low Power Image Recognition Challenge (LPIRC), classification track, @CVPR 2019

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!

python
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

  • Use

    python
    # pytorch from proxyless_nas import proxyless_cpu, proxyless_gpu, proxyless_mobile, proxyless_mobile_14, proxyless_cifar net = proxyless_cpu(pretrained=True) # Yes, we provide pre-trained models!
    python
    # tensorflow from proxyless_nas_tensorflow import proxyless_cpu, proxyless_gpu, proxyless_mobile, proxyless_mobile_14 tf_net = proxyless_cpu(pretrained=True)

    If the above scripts failed to download, you download it manually from Google Drive and put them under $HOME/.torch/proxyless_nas/.

  • Evaluate

    python eval.py --path 'Your path to imagent' --arch proxyless_cpu # pytorch ImageNet

    python eval.py -d cifar10 # pytorch cifar10

    python eval_tf.py --path 'Your path to imagent' --arch proxyless_cpu # tensorflow

File structure

Projects with ProxylessNAS:

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

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)

Contributors

Showing top 5 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from mit-han-lab/proxylessnas via the GitHub API.Last fetched: 6/14/2026