NNI (Neural Network Intelligence) is a toolkit to help users running 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 at different environments (e.g. local, remote servers and cloud).
AutoML experiment Training Services
┌────────┐ ┌────────────────────────┐ ┌────────────────┐
│ nnictl │ ─────> │ nni_manager │ │ Local Machine │
└────────┘ │ sdk/tuner │ └────────────────┘
│ hyperopt_tuner │
│ evolution_tuner │ trial jobs ┌────────────────┐
│ ... │ ────────> │ Remote Servers │
├────────────────────────┤ └────────────────┘
│ trial job source code │
│ sdk/annotation │ ┌────────────────┐
├────────────────────────┤ │ Yarn,K8s, │
│ nni_board │ │ ... │
└────────────────────────┘ └────────────────┘
- 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
Install through python pip
- requirements: python >= 3.5
pip3 install -v --user git+https://github.com/Microsoft/nni.git@v0.1
source ~/.bashrc
Requirements:
- NNI installed on your local machine
Run the following command to create an experiment for [mnist]
nnictl create --config ~/nni/examples/trials/mnist-annotation/config.yml
This command will start an experiment and a WebUI. The WebUI endpoint will be shown in the output of this command (for example, http://localhost:8080
). Open this URL in your browser. You can analyze your experiment through WebUI, or browse trials' tensorboard.
Please refer to here for the GetStarted tutorial.
This project welcomes contributions and suggestions, we are constructing the contribution guidelines, stay tuned =).
We use GitHub issues for tracking requests and bugs.