An open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning.
Перейти к файлу
SparkSnail 9fe3578bad upgrade version to v0.1.1 (#103)
* upgrade NNI sdk and nnictl version from v0.1.0 to v0.1.1
2018-09-20 14:26:53 +08:00
docs modify encoding 2018-09-11 13:43:30 +08:00
examples Remove unused files 2018-09-07 19:49:21 +08:00
src upgrade version to v0.1.1 (#103) 2018-09-20 14:26:53 +08:00
test/naive support install from venv and travis CI 2018-09-12 21:01:56 +08:00
tools upgrade version to v0.1.1 (#103) 2018-09-20 14:26:53 +08:00
.gitattributes NNI dogfood version 1 2018-08-20 16:13:47 +08:00
.gitignore Initial commit 2018-05-31 22:51:45 -07:00
.travis.yml Fixed IC build issues 2018-08-23 15:15:04 +08:00
LICENSE Initial commit 2018-05-31 22:51:48 -07:00
Makefile support install from venv and travis CI 2018-09-12 21:01:56 +08:00
README.md Update README.md, add travis build status icon 2018-09-13 09:50:38 +08:00
_config.yml Set theme jekyll-theme-leap-day 2018-09-04 10:00:15 +08:00
install.sh add .local/bin to PATH when installing (#33) 2018-09-13 13:43:52 +08:00
pylintrc NNI dogfood version 1 2018-08-20 16:13:47 +08:00
setup.py upgrade version to v0.1.1 (#103) 2018-09-20 14:26:53 +08:00

README.md

Neural Network Intelligence

Build Status

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

            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             │                  │ ...            │
                  └────────────────────────┘                  └────────────────┘

Who should consider using NNI

  • 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

Getting Started with NNI

Installation

Install through python pip. (the current version only supports linux, nni on ubuntu 16.04 or newer has been well tested)

  • requirements: python >= 3.5, git, wget
pip3 install -v --user git+https://github.com/Microsoft/nni.git@v0.1
source ~/.bashrc

Quick start: run an experiment at local

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.

Contributing

This project welcomes contributions and suggestions, we are constructing the contribution guidelines, stay tuned =).

We use GitHub issues for tracking requests and bugs.