Welcome to Archai
Archai is a platform for Neural Network Search (NAS) with a goal to unify several recent advancements in research and making them accessible to non-experts so that anyone can leverage this research to generate efficient deep networks for their own applications. Archai hopes to accelerate NAS research by easily allowing to mix and match different techniques rapidly while still ensuring reproducibility, documented hyper-parameters and fair comparison across the spectrum of these techniques. Archai is extensible and modular to accommodate new algorithms easily and aspired to offer clean and robust codebase.
How to Get It
Prerequisites
Archai requires Python 3.6+ and PyTorch 1.2+. To install Python we highly recommend Anaconda. Archai works both on Linux as well as Windows.
Install from source code
We recommend installing from the source code:
git clone https://github.com/microsoft/archai.git
cd archai
install.sh # on Windows, use install.batFor more information, please Install guide
How to Use It
Quick Start
To run specific NAS algorithm, specify it by --algos switch:
python scripts/main.py --algos darts --fullFor more information on available switches, algorithms etc please see running algorithms.
Tutorial
Please see our detailed 30 minutes tutorial that walks you through how to implement Darts algorithm.
Visual Studio Code
We highly recommend Visual Studio Code to take advantage of predefined run configurations and interactive debugging.
From archai directory, launch Visual Studio Code. Select the Run button (Ctrl+Shift+D), chose the run configuration you want and click on Play icon.
Tutorials
Running experiments on Azure AML
See detailed instructions.
Other References
Contribute
We would love your contributions, feedback, questions, algorithm implementations and feature requests! Please file a Github issue or send us a pull request. Please review the Microsoft Code of Conduct and learn more.
Contact
Join the Archai group on Facebook to stay up to date or ask any questions.
Team
Archai has been created and maintained by Shital Shah and Debadeepta Dey in the Reinforcement Learning Group at Microsoft Research AI, Redmond, USA. Archai has benefited immensely from discussions with John Langford, Rich Caruana, Eric Horvitz and Alekh Agarwal.
We look forward to Archai becoming more community driven and including major contributors here.
Credits
Archai builds on several open source codebases. These includes: Fast AutoAugment, pt.darts, DARTS-PyTorch, DARTS, petridishnn, PyTorch CIFAR-10 Models, NVidia DeepLearning Examples, PyTorch Warmup Scheduler, NAS Evaluation is Frustratingly Hard. Please see install_requires section in setup.py for up to date dependencies list. If you feel credit to any material is missing, please let us know by filing a Github issue.
License
This project is released under the MIT License. Please review the License file for more details.