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

5
[![MIT licensed](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE)
6
[![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
7
8
9
[![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
10
[![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
11
[![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
12

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

colorjam's avatar
colorjam committed
15
**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>.
16

colorjam's avatar
colorjam committed
17
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>.
18
19
20
21
22

## **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
23
* 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.
24
* ML Platform owners who want to **support AutoML in their platform**.
25

Scarlett Li's avatar
Scarlett Li committed
26
## **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
27

QuanluZhang's avatar
QuanluZhang committed
28
* **New release**: [v2.4 is available](https://github.com/microsoft/nni/releases) - _released on June-15-2021_
29
30
31
* **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)
Lijiaoa's avatar
Lijiaoa committed
32
33
34
35
* **New emoticons release**: [nnSpider](./docs/en_US/Tutorial/NNSpider.md)
<p align="center">
  <a href="#nni-spider"><img width="100%" src="docs/img/emoicons/home.svg" /></a>
</p>
36

37
## **NNI capabilities in a glance**
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
38

Vaggelis Gkiastas's avatar
Vaggelis Gkiastas committed
39
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.
40
41
42

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
43
<p align="center">
Lijiao's avatar
Lijiao committed
44
  <a href="#nni-has-been-released"><img src="docs/img/overview.svg" /></a>
QuanluZhang's avatar
QuanluZhang committed
45
</p>
46

QuanluZhang's avatar
QuanluZhang committed
47
48
<table>
  <tbody>
49
    <tr align="center" valign="bottom">
50
51
    <td>
      </td>
QuanluZhang's avatar
QuanluZhang committed
52
      <td>
53
        <b>Frameworks & Libraries</b>
54
        <img src="docs/img/bar.png"/>
QuanluZhang's avatar
QuanluZhang committed
55
56
      </td>
      <td>
57
        <b>Algorithms</b>
58
        <img src="docs/img/bar.png"/>
QuanluZhang's avatar
QuanluZhang committed
59
60
      </td>
      <td>
Gems's avatar
Gems committed
61
        <b>Training Services</b>
62
        <img src="docs/img/bar.png"/>
QuanluZhang's avatar
QuanluZhang committed
63
64
      </td>
    </tr>
65
    </tr>
QuanluZhang's avatar
QuanluZhang committed
66
    <tr valign="top">
67
68
69
    <td align="center" valign="middle">
    <b>Built-in</b>
      </td>
QuanluZhang's avatar
QuanluZhang committed
70
      <td>
71
      <ul><li><b>Supported Frameworks</b></li>
72
73
74
        <ul>
          <li>PyTorch</li>
          <li>Keras</li>
75
          <li>TensorFlow</li>
76
77
          <li>MXNet</li>
          <li>Caffe2</li>
colorjam's avatar
colorjam committed
78
          <a href="https://nni.readthedocs.io/en/stable/SupportedFramework_Library.html">More...</a><br/>
79
80
81
82
83
84
85
86
        </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
87
           <a href="https://nni.readthedocs.io/en/stable/SupportedFramework_Library.html">More...</a><br/>
88
89
90
91
92
          </ul>
      </ul>
        <ul>
        <li><b>Examples</b></li>
         <ul>
Guoxin's avatar
Guoxin committed
93
           <li><a href="examples/trials/mnist-pytorch">MNIST-pytorch</li></a>
94
           <li><a href="examples/trials/mnist-tfv1">MNIST-tensorflow</li></a>
95
           <li><a href="examples/trials/mnist-keras">MNIST-keras</li></a>
colorjam's avatar
colorjam committed
96
97
98
99
100
101
           <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/>
102
          </ul>
QuanluZhang's avatar
QuanluZhang committed
103
104
        </ul>
      </td>
105
      <td align="left" >
colorjam's avatar
colorjam committed
106
        <a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html">Hyperparameter Tuning</a>
QuanluZhang's avatar
QuanluZhang committed
107
        <ul>
108
          <b>Exhaustive search</b>
109
          <ul>
colorjam's avatar
colorjam committed
110
111
112
            <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>
113
114
115
            </ul>
          <b>Heuristic search</b>
          <ul>
colorjam's avatar
colorjam committed
116
117
118
119
            <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>
120
          </ul>
121
122
          <b>Bayesian optimization</b>
            <ul>
colorjam's avatar
colorjam committed
123
124
125
126
127
              <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
128
            <li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#DNGOTuner">DNGO Tuner</a></li>
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
129
            </ul>
130
        </ul>
QuanluZhang's avatar
QuanluZhang committed
131
          <a href="https://nni.readthedocs.io/en/stable/NAS/Overview.html">Neural Architecture Search (Retiarii)</a>
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
132
          <ul>
QuanluZhang's avatar
QuanluZhang committed
133
134
135
136
137
138
139
140
            <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>
141
          </ul>
colorjam's avatar
colorjam committed
142
          <a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">Model Compression</a>
143
          <ul>
144
145
            <b>Pruning</b>
            <ul>
colorjam's avatar
colorjam committed
146
147
148
149
150
151
152
              <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
153
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">More...</a></li>
154
155
156
            </ul>
            <b>Quantization</b>
            <ul>
colorjam's avatar
colorjam committed
157
158
              <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
159
              <li><a href="https://nni.readthedocs.io/en/stable/Compression/Quantizer.html#bnn-quantizer">BNN Quantizer</a></li>
160
            </ul>
161
          </ul>
colorjam's avatar
colorjam committed
162
          <a href="https://nni.readthedocs.io/en/stable/FeatureEngineering/Overview.html">Feature Engineering (Beta)</a>
163
          <ul>
colorjam's avatar
colorjam committed
164
165
          <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>
166
          </ul>
colorjam's avatar
colorjam committed
167
          <a href="https://nni.readthedocs.io/en/stable/Assessor/BuiltinAssessor.html">Early Stop Algorithms</a>
168
          <ul>
colorjam's avatar
colorjam committed
169
170
          <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>
171
          </ul>
QuanluZhang's avatar
QuanluZhang committed
172
173
174
      </td>
      <td>
      <ul>
colorjam's avatar
colorjam committed
175
176
177
178
        <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>
179
        <li><b>Kubernetes based services</b></li>
180
        <ul>
colorjam's avatar
colorjam committed
181
182
183
184
185
          <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>
186
        </ul>
QuanluZhang's avatar
QuanluZhang committed
187
188
      </ul>
      </td>
189
    </tr>
190
191
192
193
194
195
196
197
198
      <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
199
200
201
        <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>
202
203
204
205
      </ul>
      </td>
       <td style="border-top:#FF0000 solid 0px;">
      <ul>
colorjam's avatar
colorjam committed
206
207
208
        <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
209
210
        <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>
211
212
213
214
      </ul>
      </td>
        <td style="border-top:#FF0000 solid 0px;">
      <ul>
colorjam's avatar
colorjam committed
215
216
        <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>
217
      </ul>
218
219
      </td>
    </tr>
QuanluZhang's avatar
QuanluZhang committed
220
221
  </tbody>
</table>
222

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

225
### **Install**
Chi Song's avatar
Chi Song committed
226

227
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
228

229
Linux or macOS
Chi Song's avatar
Chi Song committed
230

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

235
Windows
Chi Song's avatar
Chi Song committed
236

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

colorjam's avatar
colorjam committed
241
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
242

colorjam's avatar
colorjam committed
243
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.
244

245
Note:
Chi Song's avatar
Chi Song committed
246

247
* If there is any privilege issue, add `--user` to install NNI in the user directory.
colorjam's avatar
colorjam committed
248
249
* 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).
250

251
### **Verify installation**
Chi Song's avatar
Chi Song committed
252
253
254

* Download the examples via clone the source code.

255
  ```bash
QuanluZhang's avatar
QuanluZhang committed
256
  git clone -b v2.4 https://github.com/Microsoft/nni.git
257
  ```
Chi Song's avatar
Chi Song committed
258
259
260

* Run the MNIST example.

261
  Linux or macOS
Chi Song's avatar
Chi Song committed
262

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

267
  Windows
Chi Song's avatar
Chi Song committed
268

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

273
* 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`.
274

Chi Song's avatar
Chi Song committed
275
```text
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
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
292
293
294
295
296
297
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
298
-----------------------------------------------------------------------
Scarlett Li's avatar
Scarlett Li committed
299
```
Scarlett Li's avatar
Scarlett Li committed
300

colorjam's avatar
colorjam committed
301
* 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.
302

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

305
306
307
308
309
310
311
312
313
314
315
316
317
## **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>

318
319

## **Feedback**
320
* [File an issue](https://github.com/microsoft/nni/issues/new/choose) on GitHub.
321
* Open or participate in a [discussion](https://github.com/microsoft/nni/discussions). 
JSong-Jia's avatar
JSong-Jia committed
322
323
324
325
326
* 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|
|----|----|----|
327
|![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
328

Chi Song's avatar
Chi Song committed
329

330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
## 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) |
350
351
| 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) |
352

353
## Related Projects
Daiki Katsuragawa's avatar
Daiki Katsuragawa committed
354

355
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.
356
357
358
359
360

* [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.
361
* [nn-Meter](https://github.com/microsoft/nn-Meter) : An accurate inference latency predictor for DNN models on diverse edge devices.
362
363

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

Chi Song's avatar
Chi Song committed
365
366
## **License**

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