Giter VIP home page Giter VIP logo

xnas's Introduction


XNAS is an effective, modular and flexible Neural Architecture Search (NAS) repository, which aims to provide a common framework and baselines for the NAS community. It is originally designed to decouple the search space, search algorithm and performance evaluation strategy to achieve freely combinable NAS.

This project is now supported by PengCheng Lab.


Overview | Installation | Contributing | Citation | License

For more information and API usages, please refer to our Documentation.


Overview

Based on a common division of NAS, the project is organized by search space, search algorithm, and evaluation strategy. The project currently supports the content shown below. Each row of the table represents a search algorithm and each column represents the search space.

DARTS NAS-Bench-201 SPOS OFA NAS-Bench-101 NAS-Bench-1Shot1
DARTS ☑︎ ☑︎
PDARTS ☑︎ ☑︎
PCDARTS ☑︎ ☑︎
SNG ☑︎
ASNG ☑︎
MDENAS ☑︎
DDPNAS ☑︎ ☑︎
MIGONAS ☑︎
GridSearch ☑︎
DrNAS ☑︎ ☑︎
SNAS ☑︎ ☑︎
GDAS ☑︎ ☑︎
RMINAS ☑︎ ☑︎
DropNAS ☑︎
SPOS ☑︎
OFA ☑︎

We also provide the interpretation of papers and experimental records for each algorithm. For more information, please refer to the links in the "Docs" column.

Search Spaces Docs Official Links
DARTS Github
MobileNetV3 -
NAS-Bench-101 GitHub
NAS-Bench-201 GitHub
NAS-Bench-1Shot1 GitHub
SPOS GitHub
Search Algorithms Docs Official Links
DARTS Github
PDARTS Github
PCDARTS Github
SNG Github
ASNG Github
MDENAS Github
DDPNAS Github
MIGONAS Openi
GridSearch -
DrNAS Github
RMINAS Openi
DropNAS Github
SPOS Github
OFA Github
Evaluation Strategies Docs Official Links
NAS-Bench-101 GitHub
NAS-Bench-201 GitHub
NAS-Bench-301 GitHub
NAS-Bench-1Shot1 GitHub

We are gradually providing support for more settings.

Installation

To run XNAS, python>=3.7 and pytorch=1.9 are required. Other versions of PyTorch may also work well, but there are potential API differences that can cause warnings to be generated.

For detailed instructions, please refer to get_started.md and data_preparation.md in our docs.

Contributing

We welcome contributions to the library along with any potential issues or suggestions.

Please refer to Contributing.md in our docs for more information.

Citation

If you use this code in your own work, please use the following bibtex entries:

@inproceedings{zheng2022rminas,
  title={Neural Architecture Search with Representation Mutual Information},
  author={Xiawu Zheng, Xiang Fei, Lei Zhang, Chenglin Wu, Fei Chao, Jianzhuang Liu, Wei Zeng, Yonghong Tian, Rongrong Ji},
  journal={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year={2022}
}
@article{zheng2021migo,
  title={MIGO-NAS: Towards fast and generalizable neural architecture search},
  author={Zheng, Xiawu and Ji, Rongrong and Chen, Yuhang and Wang, Qiang and Zhang, Baochang and Chen, Jie and Ye, Qixiang and Huang, Feiyue and Tian, Yonghong},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2021},
  publisher={IEEE}
}
@inproceedings{zheng2020rethinking,
  title={Rethinking performance estimation in neural architecture search},
  author={Zheng, Xiawu and Ji, Rongrong and Wang, Qiang and Ye, Qixiang and Li, Zhenguo and Tian, Yonghong and Tian, Qi},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={11356--11365},
  year={2020}
}

License

This project is released under the MIT license. XNAS also uses codes from these repos to build some modules:

TODO

  • 迁移OFA代码
  • 补充101安装测试
  • NAS-Bench-Macro
  • 多显卡支持

xnas's People

Contributors

zhengxiawu avatar xfey avatar johsnows avatar woodchen7 avatar skzhang1 avatar chouxianyu avatar zhanglei1172 avatar dercaft avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.