README.md 3.38 KB
Newer Older
1
2
3
# Neural Network Intelligence

[![Build Status](https://travis-ci.org/Microsoft/nni.svg?branch=master)](https://travis-ci.org/Microsoft/nni)
Microsoft Open Source's avatar
Microsoft Open Source committed
4

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

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


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

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

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

Scarlett Li's avatar
Scarlett Li committed
52
53
54
55
# 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
56