NNI (Neural Network Intelligence) is a toolkit to help users run automated machine learning experiments. The tool dispatches and runs trial jobs that generated by tuning algorithms to search the best neural architecture and/or hyper-parameters in different environments (e.g. local machine, remote servers and cloud).
- You want to try different AutoML algorithms for your training code (model) at local
- You want to run AutoML trial jobs in different environments to speed up search (e.g. remote servers and cloud)
- As a researcher and data scientist, you want to implement your own AutoML algorithms and compare with other algorithms
- As a ML platform owner, you want to support AutoML in your platform
pip install
- We only support Linux in current stage, Ubuntu 16.04 or higher are tested and supported. Simply run the following
pip install
in an environment that haspython >= 3.5
,git
andwget
.
python3 -m pip install -v --user git+https://github.com/Microsoft/[email protected]
source ~/.bashrc
verify install
- The following example is an experiment built on TensorFlow, make sure you have
TensorFlow installed
before running it.
nnictl create --config ~/nni/examples/trials/mnist/config.yml
- In the command terminal, waiting for the message
Info: Start experiment success!
which indicates your experiment had been successfully started. You are able to explore the experiment using theWeb UI url
.
Info: Checking experiment...
...
Info: Starting experiment...
Info: Checking web ui...
Info: Starting web ui...
Info: Starting web ui success!
+ Info: Web UI url: http://127.0.0.1:8080 http://10.172.141.6:8080
+ Info: Start experiment success! The experiment id is LrNK4hae, and the restful server post is 51188.
- Installation
- Use command line tool nnictl
- Use NNIBoard
- Define search space
- [Use NNI sdk] - coming soon
- Config an experiment
- [Use annotation]- coming soon
- Debug
- How to run an experiment on local (with multiple GPUs)?
- How to run an experiment on multiple machines?
- How to run an experiment on OpenPAI?
- [Try different tuners and assessors] - coming soon
- [How to run an experiment on K8S services?] - coming soon
- [Implement a customized tuner] - coming soon
- [Implement a customized assessor] - coming soon
- [Implement a custmoized weight sharing algorithm] - coming soon
- [How to integrate NNI with your own custmoized training service] - coming soon
- [Compare different AutoML algorithms] - coming soon
- [Serve NNI as a capability of a ML Platform] - coming soon
This project welcomes contributions and suggestions, we are constructing the contribution guidelines, stay tuned =).
We use GitHub issues for tracking requests and bugs.
The entire codebase is under MIT license