60

GitHub - MIT-HAN-LAB/ProxylessNAS: ProxylessNAS: Direct Neural Architecture Sear...

 5 years ago
source link: https://github.com/MIT-HAN-LAB/ProxylessNAS
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware

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

Performance

Mobile settings GPU settings Model Top-1 Top-5 Latency MobilenetV1 70.6 89.5 113ms MobilenetV2 72.0 91.0 75ms MNasNet(our impl) 74.0 91.8 79ms ProxylessNAS (mobile) 74.6 92.2 78ms

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

2.6% better than MobilenetV2 with same speed. 3.1% better than MobilenetV2 with 20% faster.

68747470733a2f2f68616e6c61622e6d69742e6564752f66696c65732f70726f78796c6573734e41532f666967757265732f70726f78796c6573735f76735f6d6f62696c656e65742e706e67
ProxylessNAS consistently outperforms MobileNetV2 under various latency settings.

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.

Please refer to our paper for more results.

How to use / evaluate

  • 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK