랭킹으로 돌아가기

mit-han-lab/proxylessnas

C++hanlab.mit.edu/projects/proxylessNAS/

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

automlspecializationhardware-awareaccelerationon-device-aiefficient-model
스타 성장
스타
1.4k
포크
281
주간 성장
이슈
0
5001k
2023년 1월2024년 3월2025년 5월2026년 7월
README

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

  • 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!

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)

Mobile settings GPU settings
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
ProxylessNAS(Mobile) consistently outperforms MobileNetV2 under various latency settings. ProxylessNAS(GPU) is 3.1% better than MobilenetV2 with 20% faster.

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

    # 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!
    
    # 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:

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)

관련 저장소
lukasmasuch/best-of-ml-python

🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.

Creative Commons Attribution Share Alike 4.0 Internationalpythonmachine-learning
ml-python.best-of.org
23.7k3.1k
ml-tooling/best-of-ml-python

🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.

Creative Commons Attribution Share Alike 4.0 Internationalpythonmachine-learning
ml-python.best-of.org
19.8k2.7k
microsoft/nni

An open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning.

PythonPyPIMIT Licenseautomldeep-learning
nni.readthedocs.io
14.4k1.9k
autogluon/autogluon

Fast and Accurate ML in 3 Lines of Code

PythonPyPIApache License 2.0automlmachine-learning
auto.gluon.ai
10.5k1.2k
EpistasisLab/tpot

A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.

Jupyter NotebookGNU Lesser General Public License v3.0machine-learningpython
epistasislab.github.io/tpot/
10k1.6k
pycaret/pycaret

Open-source, low-code AutoML platform for Python. PyCaret 4.0: sklearn-native engine + React control plane.

PythonPyPIOtherdata-sciencepython
pycaret.org
9.8k1.9k
keras-team/autokeras

AutoML library for deep learning

PythonPyPIApache License 2.0automlneural-architecture-search
autokeras.com
9.3k1.4k
automl/auto-sklearn

Automated Machine Learning with scikit-learn

PythonPyPIBSD 3-Clause "New" or "Revised" Licenseautomlscikit-learn
automl.github.io/auto-sklearn
8.1k1.3k
alteryx/featuretools

An open source python library for automated feature engineering

PythonPyPIBSD 3-Clause "New" or "Revised" Licensefeature-engineeringmachine-learning
featuretools.com
7.7k917
h2oai/h2o-3

H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.

Jupyter NotebookApache License 2.0h2omachine-learning
h2o.ai
7.5k2k
google/automl

Google Brain AutoML

Jupyter NotebookApache License 2.0automlefficientdet
6.5k1.5k
zenml-io/zenml

ZenML 🙏: One AI Platform from Pipelines to Agents. https://zenml.io.

PythonPyPIApache License 2.0mlopsmachine-learning
zenml.io
5.5k638