README.md 24.1 KB
Newer Older
1
<p align="center">
2
<img src="docs/img/nni_logo.png" width="300"/>
3
4
5
</p>

-----------
6

7
[![MIT licensed](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE)
8
[![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/full%20test%20-%20linux?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=62&branchName=master)
Gems Guo's avatar
Gems Guo committed
9
10
11
[![Issues](https://img.shields.io/github/issues-raw/Microsoft/nni.svg)](https://github.com/Microsoft/nni/issues?q=is%3Aissue+is%3Aopen)
[![Bugs](https://img.shields.io/github/issues/Microsoft/nni/bug.svg)](https://github.com/Microsoft/nni/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
[![Pull Requests](https://img.shields.io/github/issues-pr-raw/Microsoft/nni.svg)](https://github.com/Microsoft/nni/pulls?q=is%3Apr+is%3Aopen)
The Gitter Badger's avatar
The Gitter Badger committed
12
[![Version](https://img.shields.io/github/release/Microsoft/nni.svg)](https://github.com/Microsoft/nni/releases) [![Join the chat at https://gitter.im/Microsoft/nni](https://badges.gitter.im/Microsoft/nni.svg)](https://gitter.im/Microsoft/nni?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
colorjam's avatar
colorjam committed
13
[![Documentation Status](https://readthedocs.org/projects/nni/badge/?version=stable)](https://nni.readthedocs.io/en/stable/?badge=stable)
Microsoft Open Source's avatar
Microsoft Open Source committed
14

Scarlett Li's avatar
Scarlett Li committed
15
[NNI Doc](https://nni.readthedocs.io/) | [简体中文](README_zh_CN.md)
Chi Song's avatar
Chi Song committed
16

colorjam's avatar
colorjam committed
17
**NNI (Neural Network Intelligence)** is a lightweight but powerful toolkit to help users **automate** <a href="https://nni.readthedocs.io/en/stable/FeatureEngineering/Overview.html">Feature Engineering</a>, <a href="https://nni.readthedocs.io/en/stable/NAS/Overview.html">Neural Architecture Search</a>, <a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html">Hyperparameter Tuning</a> and <a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">Model Compression</a>.
18

colorjam's avatar
colorjam committed
19
The tool manages automated machine learning (AutoML) experiments, **dispatches and runs** experiments' trial jobs generated by tuning algorithms to search the best neural architecture and/or hyper-parameters in **different training environments** like <a href="https://nni.readthedocs.io/en/stable/TrainingService/LocalMode.html">Local Machine</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/RemoteMachineMode.html">Remote Servers</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/PaiMode.html">OpenPAI</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/KubeflowMode.html">Kubeflow</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/FrameworkControllerMode.html">FrameworkController on K8S (AKS etc.)</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/DLTSMode.html">DLWorkspace (aka. DLTS)</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/AMLMode.html">AML (Azure Machine Learning)</a>, <a href="https://nni.readthedocs.io/en/stable/TrainingService/AdaptDLMode.html">AdaptDL (aka. ADL)</a> , other cloud options and even <a href="https://nni.readthedocs.io/en/stable/TrainingService/HybridMode.html">Hybrid mode</a>.
20
21
22
23
24

## **Who should consider using NNI**

* Those who want to **try different AutoML algorithms** in their training code/model.
* Those who want to run AutoML trial jobs **in different environments** to speed up search.
Scarlett Li's avatar
Scarlett Li committed
25
* Researchers and data scientists who want to easily **implement and experiment new AutoML algorithms**, may it be: hyperparameter tuning algorithm, neural architect search algorithm or model compression algorithm.
26
* ML Platform owners who want to **support AutoML in their platform**.
27

Scarlett Li's avatar
Scarlett Li committed
28
## **What's NEW!** &nbsp;<a href="#nni-released-reminder"><img width="48" src="docs/img/release_icon.png"></a>
Scarlett Li's avatar
Scarlett Li committed
29

30
31
32
33
* **New release**: [v2.3 is available](https://github.com/microsoft/nni/releases) - _released on June-15-2021_
* **New demo available**: [Youtube entry](https://www.youtube.com/channel/UCKcafm6861B2mnYhPbZHavw) | [Bilibili 入口](https://space.bilibili.com/1649051673) - _last updated on May-26-2021_
* **New webinar**: [Introducing Retiarii: A deep learning exploratory-training framework on NNI](https://note.microsoft.com/MSR-Webinar-Retiarii-Registration-Live.html) - _scheduled on June-24-2021_
* **New community channel**: [Discussions](https://github.com/microsoft/nni/discussions)
34

35
## **NNI capabilities in a glance**
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
36

Vaggelis Gkiastas's avatar
Vaggelis Gkiastas committed
37
NNI provides CommandLine Tool as well as an user friendly WebUI to manage training experiments. With the extensible API, you can customize your own AutoML algorithms and training services. To make it easy for new users, NNI also provides a set of build-in state-of-the-art AutoML algorithms and out of box support for popular training platforms.
38
39
40

Within the following table, we summarized the current NNI capabilities, we are gradually adding new capabilities and we'd love to have your contribution.

QuanluZhang's avatar
QuanluZhang committed
41
<p align="center">
Lijiao's avatar
Lijiao committed
42
  <a href="#nni-has-been-released"><img src="docs/img/overview.svg" /></a>
QuanluZhang's avatar
QuanluZhang committed
43
</p>
44

QuanluZhang's avatar
QuanluZhang committed
45
46
<table>
  <tbody>
47
    <tr align="center" valign="bottom">
48
49
    <td>
      </td>
QuanluZhang's avatar
QuanluZhang committed
50
      <td>
51
        <b>Frameworks & Libraries</b>
52
        <img src="docs/img/bar.png"/>
QuanluZhang's avatar
QuanluZhang committed
53
54
      </td>
      <td>
55
        <b>Algorithms</b>
56
        <img src="docs/img/bar.png"/>
QuanluZhang's avatar
QuanluZhang committed
57
58
      </td>
      <td>
Gems's avatar
Gems committed
59
        <b>Training Services</b>
60
        <img src="docs/img/bar.png"/>
QuanluZhang's avatar
QuanluZhang committed
61
62
      </td>
    </tr>
63
    </tr>
QuanluZhang's avatar
QuanluZhang committed
64
    <tr valign="top">
65
66
67
    <td align="center" valign="middle">
    <b>Built-in</b>
      </td>
QuanluZhang's avatar
QuanluZhang committed
68
      <td>
69
      <ul><li><b>Supported Frameworks</b></li>
70
71
72
        <ul>
          <li>PyTorch</li>
          <li>Keras</li>
73
          <li>TensorFlow</li>
74
75
          <li>MXNet</li>
          <li>Caffe2</li>
colorjam's avatar
colorjam committed
76
          <a href="https://nni.readthedocs.io/en/stable/SupportedFramework_Library.html">More...</a><br/>
77
78
79
80
81
82
83
84
        </ul>
        </ul>
      <ul>
        <li><b>Supported Libraries</b></li>
          <ul>
           <li>Scikit-learn</li>
           <li>XGBoost</li>
           <li>LightGBM</li>
colorjam's avatar
colorjam committed
85
           <a href="https://nni.readthedocs.io/en/stable/SupportedFramework_Library.html">More...</a><br/>
86
87
88
89
90
          </ul>
      </ul>
        <ul>
        <li><b>Examples</b></li>
         <ul>
Guoxin's avatar
Guoxin committed
91
           <li><a href="examples/trials/mnist-pytorch">MNIST-pytorch</li></a>
92
           <li><a href="examples/trials/mnist-tfv1">MNIST-tensorflow</li></a>
93
           <li><a href="examples/trials/mnist-keras">MNIST-keras</li></a>
colorjam's avatar
colorjam committed
94
95
96
97
98
99
           <li><a href="https://nni.readthedocs.io/en/stable/TrialExample/GbdtExample.html">Auto-gbdt</a></li>
           <li><a href="https://nni.readthedocs.io/en/stable/TrialExample/Cifar10Examples.html">Cifar10-pytorch</li></a>
           <li><a href="https://nni.readthedocs.io/en/stable/TrialExample/SklearnExamples.html">Scikit-learn</a></li>
           <li><a href="https://nni.readthedocs.io/en/stable/TrialExample/EfficientNet.html">EfficientNet</a></li>
           <li><a href="https://nni.readthedocs.io/en/stable/TrialExample/OpEvoExamples.html">Kernel Tunning</li></a>
              <a href="https://nni.readthedocs.io/en/stable/SupportedFramework_Library.html">More...</a><br/>
100
          </ul>
QuanluZhang's avatar
QuanluZhang committed
101
102
        </ul>
      </td>
103
      <td align="left" >
colorjam's avatar
colorjam committed
104
        <a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html">Hyperparameter Tuning</a>
QuanluZhang's avatar
QuanluZhang committed
105
        <ul>
106
          <b>Exhaustive search</b>
107
          <ul>
colorjam's avatar
colorjam committed
108
109
110
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#Random">Random Search</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#GridSearch">Grid Search</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#Batch">Batch</a></li>
111
112
113
            </ul>
          <b>Heuristic search</b>
          <ul>
colorjam's avatar
colorjam committed
114
115
116
117
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#Evolution">Naïve Evolution</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#Anneal">Anneal</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#Hyperband">Hyperband</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#PBTTuner">PBT</a></li>
118
          </ul>
119
120
          <b>Bayesian optimization</b>
            <ul>
colorjam's avatar
colorjam committed
121
122
123
124
125
              <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#BOHB">BOHB</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#TPE">TPE</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#SMAC">SMAC</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#MetisTuner">Metis Tuner</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#GPTuner">GP Tuner</a></li>
QuanluZhang's avatar
QuanluZhang committed
126
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#DNGOTuner">DNGO Tuner</a></li>
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
127
            </ul>
128
        </ul>
QuanluZhang's avatar
QuanluZhang committed
129
          <a href="https://nni.readthedocs.io/en/stable/NAS/Overview.html">Neural Architecture Search (Retiarii)</a>
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
130
          <ul>
QuanluZhang's avatar
QuanluZhang committed
131
132
133
134
135
136
137
138
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/ENAS.html">ENAS</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/DARTS.html">DARTS</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/SPOS.html">SPOS</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/Proxylessnas.html">ProxylessNAS</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/FBNet.html">FBNet</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/ExplorationStrategies.html">Reinforcement Learning</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/ExplorationStrategies.html">Regularized Evolution</a></li>
            <li><a href="https://nni.readthedocs.io/en/stable/NAS/Overview.html">More...</a></li>
139
          </ul>
colorjam's avatar
colorjam committed
140
          <a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">Model Compression</a>
141
          <ul>
142
143
            <b>Pruning</b>
            <ul>
colorjam's avatar
colorjam committed
144
145
146
147
148
149
150
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#agp-pruner">AGP Pruner</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#slim-pruner">Slim Pruner</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#fpgm-pruner">FPGM Pruner</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#netadapt-pruner">NetAdapt Pruner</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#simulatedannealing-pruner">SimulatedAnnealing Pruner</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#admm-pruner">ADMM Pruner</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Pruner.html#autocompress-pruner">AutoCompress Pruner</a></li>
QuanluZhang's avatar
QuanluZhang committed
151
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">More...</a></li>
152
153
154
            </ul>
            <b>Quantization</b>
            <ul>
colorjam's avatar
colorjam committed
155
156
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Quantizer.html#qat-quantizer">QAT Quantizer</a></li>
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Quantizer.html#dorefa-quantizer">DoReFa Quantizer</a></li>
QuanluZhang's avatar
QuanluZhang committed
157
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Quantizer.html#bnn-quantizer">BNN Quantizer</a></li>
158
            </ul>
159
          </ul>
colorjam's avatar
colorjam committed
160
          <a href="https://nni.readthedocs.io/en/stable/FeatureEngineering/Overview.html">Feature Engineering (Beta)</a>
161
          <ul>
colorjam's avatar
colorjam committed
162
163
          <li><a href="https://nni.readthedocs.io/en/stable/FeatureEngineering/GradientFeatureSelector.html">GradientFeatureSelector</a></li>
          <li><a href="https://nni.readthedocs.io/en/stable/FeatureEngineering/GBDTSelector.html">GBDTSelector</a></li>
164
          </ul>
colorjam's avatar
colorjam committed
165
          <a href="https://nni.readthedocs.io/en/stable/Assessor/BuiltinAssessor.html">Early Stop Algorithms</a>
166
          <ul>
colorjam's avatar
colorjam committed
167
168
          <li><a href="https://nni.readthedocs.io/en/stable/Assessor/BuiltinAssessor.html#MedianStop">Median Stop</a></li>
          <li><a href="https://nni.readthedocs.io/en/stable/Assessor/BuiltinAssessor.html#Curvefitting">Curve Fitting</a></li>
169
          </ul>
QuanluZhang's avatar
QuanluZhang committed
170
171
172
      </td>
      <td>
      <ul>
colorjam's avatar
colorjam committed
173
174
175
176
        <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/LocalMode.html">Local Machine</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/RemoteMachineMode.html">Remote Servers</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/HybridMode.html">Hybrid mode</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/AMLMode.html">AML(Azure Machine Learning)</a></li>
177
        <li><b>Kubernetes based services</b></li>
178
        <ul>
colorjam's avatar
colorjam committed
179
180
181
182
183
          <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/PaiMode.html">OpenPAI</a></li>
          <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/KubeflowMode.html">Kubeflow</a></li>
          <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/FrameworkControllerMode.html">FrameworkController on K8S (AKS etc.)</a></li>
          <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/DLTSMode.html">DLWorkspace (aka. DLTS)</a></li>
          <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/AdaptDLMode.html">AdaptDL (aka. ADL)</a></li>
184
        </ul>
QuanluZhang's avatar
QuanluZhang committed
185
186
      </ul>
      </td>
187
    </tr>
188
189
190
191
192
193
194
195
196
      <tr align="center" valign="bottom">
      </td>
      </tr>
      <tr valign="top">
       <td valign="middle">
    <b>References</b>
      </td>
     <td style="border-top:#FF0000 solid 0px;">
      <ul>
colorjam's avatar
colorjam committed
197
198
199
        <li><a href="https://nni.readthedocs.io/en/stable/autotune_ref.html#trial">Python API</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/Tutorial/AnnotationSpec.html">NNI Annotation</a></li>
         <li><a href="https://nni.readthedocs.io/en/stable/installation.html">Supported OS</a></li>
200
201
202
203
      </ul>
      </td>
       <td style="border-top:#FF0000 solid 0px;">
      <ul>
colorjam's avatar
colorjam committed
204
205
206
        <li><a href="https://nni.readthedocs.io/en/stable/Tuner/CustomizeTuner.html">CustomizeTuner</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/Assessor/CustomizeAssessor.html">CustomizeAssessor</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/Tutorial/InstallCustomizedAlgos.html">Install Customized Algorithms as Builtin Tuners/Assessors/Advisors</a></li>
QuanluZhang's avatar
QuanluZhang committed
207
208
        <li><a href="https://nni.readthedocs.io/en/stable/NAS/QuickStart.html#define-your-model-space">Define NAS Model Space</a></li>
        <li><a href="https://nni.readthedocs.io/en/stable/NAS/ApiReference.html">NAS/Retiarii APIs</a></li>
209
210
211
212
      </ul>
      </td>
        <td style="border-top:#FF0000 solid 0px;">
      <ul>
colorjam's avatar
colorjam committed
213
214
        <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/Overview.html">Support TrainingService</li>
        <li><a href="https://nni.readthedocs.io/en/stable/TrainingService/HowToImplementTrainingService.html">Implement TrainingService</a></li>
215
      </ul>
216
217
      </td>
    </tr>
QuanluZhang's avatar
QuanluZhang committed
218
219
  </tbody>
</table>
220

221
## **Installation**
Chi Song's avatar
Chi Song committed
222

223
### **Install**
Chi Song's avatar
Chi Song committed
224

225
NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1, and Windows 10 >= 1809. Simply run the following `pip install` in an environment that has `python 64-bit >= 3.6`.
Zejun Lin's avatar
Zejun Lin committed
226

227
Linux or macOS
Chi Song's avatar
Chi Song committed
228

Zejun Lin's avatar
Zejun Lin committed
229
```bash
Chi Song's avatar
Chi Song committed
230
python3 -m pip install --upgrade nni
231
```
Chi Song's avatar
Chi Song committed
232

233
Windows
Chi Song's avatar
Chi Song committed
234

235
```bash
Chi Song's avatar
Chi Song committed
236
python -m pip install --upgrade nni
237
```
Chi Song's avatar
Chi Song committed
238

colorjam's avatar
colorjam committed
239
If you want to try latest code, please [install NNI](https://nni.readthedocs.io/en/stable/installation.html) from source code.
Chi Song's avatar
Chi Song committed
240

colorjam's avatar
colorjam committed
241
For detail system requirements of NNI, please refer to [here](https://nni.readthedocs.io/en/stable/Tutorial/InstallationLinux.html#system-requirements) for Linux & macOS, and [here](https://nni.readthedocs.io/en/stable/Tutorial/InstallationWin.html#system-requirements) for Windows.
242

243
Note:
Chi Song's avatar
Chi Song committed
244

245
* If there is any privilege issue, add `--user` to install NNI in the user directory.
colorjam's avatar
colorjam committed
246
247
* Currently NNI on Windows supports local, remote and pai mode. Anaconda or Miniconda is highly recommended to install [NNI on Windows](https://nni.readthedocs.io/en/stable/Tutorial/InstallationWin.html).
* If there is any error like `Segmentation fault`, please refer to [FAQ](https://nni.readthedocs.io/en/stable/Tutorial/FAQ.html). For FAQ on Windows, please refer to [NNI on Windows](https://nni.readthedocs.io/en/stable/Tutorial/InstallationWin.html#faq).
248

249
### **Verify installation**
Chi Song's avatar
Chi Song committed
250
251
252

* Download the examples via clone the source code.

253
  ```bash
254
  git clone -b v2.3 https://github.com/Microsoft/nni.git
255
  ```
Chi Song's avatar
Chi Song committed
256
257
258

* Run the MNIST example.

259
  Linux or macOS
Chi Song's avatar
Chi Song committed
260

261
  ```bash
262
  nnictl create --config nni/examples/trials/mnist-pytorch/config.yml
263
  ```
Chi Song's avatar
Chi Song committed
264

265
  Windows
Chi Song's avatar
Chi Song committed
266

267
268
  ```powershell
  nnictl create --config nni\examples\trials\mnist-pytorch\config_windows.yml
269
  ```
Chi Song's avatar
Chi Song committed
270

271
* Wait for the message `INFO: Successfully started experiment!` in the command line. This message indicates that your experiment has been successfully started. You can explore the experiment using the `Web UI url`.
272

Chi Song's avatar
Chi Song committed
273
```text
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
INFO: Starting restful server...
INFO: Successfully started Restful server!
INFO: Setting local config...
INFO: Successfully set local config!
INFO: Starting experiment...
INFO: Successfully started experiment!
-----------------------------------------------------------------------
The experiment id is egchD4qy
The Web UI urls are: http://223.255.255.1:8080   http://127.0.0.1:8080
-----------------------------------------------------------------------

You can use these commands to get more information about the experiment
-----------------------------------------------------------------------
         commands                       description
1. nnictl experiment show        show the information of experiments
2. nnictl trial ls               list all of trial jobs
SparkSnail's avatar
SparkSnail committed
290
291
292
293
294
295
3. nnictl top                    monitor the status of running experiments
4. nnictl log stderr             show stderr log content
5. nnictl log stdout             show stdout log content
6. nnictl stop                   stop an experiment
7. nnictl trial kill             kill a trial job by id
8. nnictl --help                 get help information about nnictl
296
-----------------------------------------------------------------------
Scarlett Li's avatar
Scarlett Li committed
297
```
Scarlett Li's avatar
Scarlett Li committed
298

colorjam's avatar
colorjam committed
299
* Open the `Web UI url` in your browser, you can view detailed information of the experiment and all the submitted trial jobs as shown below. [Here](https://nni.readthedocs.io/en/stable/Tutorial/WebUI.html) are more Web UI pages.
300

301
<img src="docs/static/img/webui.gif" alt="webui" width="100%"/>
302

303
304
305
306
307
308
309
310
311
312
313
314
315
## **Releases and Contributing**
NNI has a monthly release cycle (major releases). Please let us know if you encounter a bug by [filling an issue](https://github.com/microsoft/nni/issues/new/choose).

We appreciate all contributions. If you are planning to contribute any bug-fixes, please do so without further discussions.

If you plan to contribute new features, new tuners, new training services, etc. please first open an issue or reuse an exisiting issue, and discuss the feature with us. We will discuss with you on the issue timely or set up conference calls if needed.

To learn more about making a contribution to NNI, please refer to our [How-to contribution page](https://nni.readthedocs.io/en/stable/contribution.html). 

We appreciate all contributions and thank all the contributors!

<a href="https://github.com/microsoft/nni/graphs/contributors"><img src="docs/img/contributors.png" /></a>

316
317

## **Feedback**
318
* [File an issue](https://github.com/microsoft/nni/issues/new/choose) on GitHub.
319
* Open or participate in a [discussion](https://github.com/microsoft/nni/discussions). 
JSong-Jia's avatar
JSong-Jia committed
320
321
322
323
324
* Discuss on the NNI [Gitter](https://gitter.im/Microsoft/nni?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) in NNI.

Join IM discussion groups:
|Gitter||WeChat|
|----|----|----|
325
|![image](https://user-images.githubusercontent.com/39592018/80665738-e0574a80-8acc-11ea-91bc-0836dc4cbf89.png)| OR |![image](https://github.com/scarlett2018/nniutil/raw/master/wechat.png)|
JSong-Jia's avatar
JSong-Jia committed
326

Chi Song's avatar
Chi Song committed
327

328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
## Test status

### Essentials

| Type | Status |
| :---: | :---: |
| Fast test | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/fast%20test?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=54&branchName=master) |
| Full linux | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/full%20test%20-%20linux?repoName=microsoft%2Fnni&branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=62&repoName=microsoft%2Fnni&branchName=master) |
| Full windows | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/full%20test%20-%20windows?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=63&branchName=master) |

### Training services

| Type | Status |
| :---: | :---: |
| Remote - linux to linux | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20remote%20-%20linux%20to%20linux?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=64&branchName=master) |
| Remote - linux to windows | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20remote%20-%20linux%20to%20windows?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=67&branchName=master) |
| Remote - windows to linux | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20remote%20-%20windows%20to%20linux?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=68&branchName=master) |
| OpenPAI | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20openpai%20-%20linux?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=65&branchName=master) |
| Frameworkcontroller | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20frameworkcontroller?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=70&branchName=master) |
| Kubeflow | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20kubeflow?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=69&branchName=master) |
348
349
| Hybrid | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20hybrid?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=79&branchName=master) |
| AzureML | [![Build Status](https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20aml?branchName=master)](https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=78&branchName=master) |
350

351
## Related Projects
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
352

353
Targeting at openness and advancing state-of-art technology, [Microsoft Research (MSR)](https://www.microsoft.com/en-us/research/group/systems-and-networking-research-group-asia/) had also released few other open source projects.
354
355
356
357
358

* [OpenPAI](https://github.com/Microsoft/pai) : an open source platform that provides complete AI model training and resource management capabilities, it is easy to extend and supports on-premise, cloud and hybrid environments in various scale.
* [FrameworkController](https://github.com/Microsoft/frameworkcontroller) : an open source general-purpose Kubernetes Pod Controller that orchestrate all kinds of applications on Kubernetes by a single controller.
* [MMdnn](https://github.com/Microsoft/MMdnn) : A comprehensive, cross-framework solution to convert, visualize and diagnose deep neural network models. The "MM" in MMdnn stands for model management and "dnn" is an acronym for deep neural network.
* [SPTAG](https://github.com/Microsoft/SPTAG) : Space Partition Tree And Graph (SPTAG) is an open source library for large scale vector approximate nearest neighbor search scenario.
359
* [nn-Meter](https://github.com/microsoft/nn-Meter) : An accurate inference latency predictor for DNN models on diverse edge devices.
360
361

We encourage researchers and students leverage these projects to accelerate the AI development and research.
Microsoft Open Source's avatar
Microsoft Open Source committed
362

Chi Song's avatar
Chi Song committed
363
364
## **License**

365
The entire codebase is under [MIT license](LICENSE)