README.md 3.26 KB
Newer Older
1
# Introduction 
Microsoft Open Source's avatar
Microsoft Open Source committed
2

3
NNI (Neural Network Intelligence) is a toolkit to help users running automated machine learning experiments. 
Scarlett Li's avatar
Scarlett Li committed
4
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).
5
6
7
8
9
10
11

```
            AutoML experiment                                 Training Services
┌────────┐        ┌────────────────────────┐                  ┌────────────────┐
│ nnictl │ ─────> │  nni_manager           │                  │ Local Machine  │
└────────┘        │    sdk/tuner           │                  └────────────────┘
                  │      hyperopt_tuner    │
QuanluZhang's avatar
QuanluZhang committed
12
                  │      evolution_tuner   │    trial jobs    ┌────────────────┐
13
14
15
16
17
18
19
20
21
22
                  │      ...               │     ────────>    │ 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
Scarlett Li's avatar
Scarlett Li committed
23
* You want to run AutoML trial jobs in different environments to speed up search (e.g. remote servers and cloud)
24
25
26
27
28
29
30
31
32
* 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
* requirements: python >= 3.5
```
QuanluZhang's avatar
QuanluZhang committed
33
pip3 install -v --user git+https://github.com/Microsoft/nni.git
34
35
36
37
38
39
source ~/.bashrc
```


## **Quick start: run an experiment at local**
Requirements:
Scarlett Li's avatar
Scarlett Li committed
40
* NNI installed on your local machine
41
42
43

Run the following command to create an experiment for [mnist]
```bash
44
    nnictl create --config ~/nni/examples/trials/mnist-annotation/config.yml
45
```
Scarlett Li's avatar
Scarlett Li committed
46
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. 
Microsoft Open Source's avatar
Microsoft Open Source committed
47

Scarlett Li's avatar
Scarlett Li committed
48
Please refer to [here](docs/GetStarted.md) for the GetStarted tutorial.
Microsoft Open Source's avatar
Microsoft Open Source committed
49

Scarlett Li's avatar
Scarlett Li committed
50
51
52
53
# Contributing
This project welcomes contributions and suggestions, we are constructing the contribution guidelines, stay tuned =).

We use [GitHub issues](https://github.com/Microsoft/nni/issues) for tracking requests and bugs.
Microsoft Open Source's avatar
Microsoft Open Source committed
54