index.html 25.4 KB
Newer Older
1
2
3
4
5
6
{% extends "!layout.html" %}

{% set title = "Welcome To Neural Network Intelligence !!!"%}

{% block document %}

7
<div class="rowHeight">
QuanluZhang's avatar
QuanluZhang committed
8
  <div class="chinese"><a href="https://nni.readthedocs.io/zh/stable/">简体中文</a></div>
9
10
11
12
13
  <b>NNI (Neural Network Intelligence)</b> is a lightweight but powerful toolkit to
  help users <b>automate</b>
  <a href="{{ pathto('FeatureEngineering/Overview') }}">Feature Engineering</a>,
  <a href="{{ pathto('NAS/Overview') }}">Neural Architecture Search</a>,
  <a href="{{ pathto('Tuner/BuiltinTuner') }}">Hyperparameter Tuning</a> and
14
  <a href="{{ pathto('Compression/Overview') }}">Model Compression</a>.
15
</div>
16
<p class="gap rowHeight">
17
18
19
20
21
22
23
24
25
  The tool manages automated machine learning (AutoML) experiments,
  <b>dispatches and runs</b>
  experiments' trial jobs generated by tuning algorithms to search the best neural
  architecture and/or hyper-parameters in
  <b>different training environments</b> like
  <a href="{{ pathto('TrainingService/LocalMode') }}">Local Machine</a>,
  <a href="{{ pathto('TrainingService/RemoteMachineMode') }}">Remote Servers</a>,
  <a href="{{ pathto('TrainingService/PaiMode') }}">OpenPAI</a>,
  <a href="{{ pathto('TrainingService/KubeflowMode') }}">Kubeflow</a>,
QuanluZhang's avatar
QuanluZhang committed
26
27
28
29
  <a href="{{ pathto('TrainingService/FrameworkControllerMode') }}">FrameworkController on K8S (AKS etc.)</a>,
  <a href="{{ pathto('TrainingService/DLTSMode') }}">DLWorkspace (aka. DLTS)</a>,
  <a href="{{ pathto('TrainingService/AMLMode') }}">AML (Azure Machine Learning)</a>, 
  <a href="{{ pathto('TrainingService/AdaptDLMode') }}">AdaptDL (aka. ADL)</a>, other cloud options and even <a href="{{ pathto('TrainingService/HybridMode') }}">Hybrid mode</a>.
30
31
32
</p>
<!-- Who should consider using NNI -->
<div>
33
  <h2 class="title">Who should consider using NNI</h2>
34
35
36
  <ul>
    <li>Those who want to <b>try different AutoML algorithms</b> in their training code/model.</li>
    <li>Those who want to run AutoML trial jobs <b>in different environments</b> to speed up search.</li>
37
    <li class="rowHeight">Researchers and data scientists who want to easily <b>implement and experiement new AutoML
38
39
40
41
42
43
44
        algorithms</b>
      , may it be: hyperparameter tuning algorithm,
      neural architect search algorithm or model compression algorithm.
    </li>
    <li>ML Platform owners who want to <b>support AutoML in their platform</b></li>
  </ul>
</div>
45
46
47
48
49
50
51
52
<!-- what's new -->
<div>
  <div class="inline gap">
    <h2>What's NEW! </h2>
    <img width="48" src="_static/img/release_icon.png">
  </div>
  <hr class="whatNew"/>
  <ul>
53
    <li><b>New release:</b> <a href='https://github.com/microsoft/nni/releases/tag/v2.6'>{{ release }} is available2  <i>- released on Jan-18-2022</i></a></li>
54
55
56
57
58
59
60
61
62
63
64
    <li><b>New demo available:</b> <a href="https://www.youtube.com/channel/UCKcafm6861B2mnYhPbZHavw">Youtube entry</a> | <a href="https://space.bilibili.com/1649051673">Bilibili</a> 入口 <i>- last updated on May-26-2021</i></li>
    <li><b>New webinar:</b> <a href="https://note.microsoft.com/MSR-Webinar-Retiarii-Registration-On-Demand.html">
      Introducing Retiarii: A deep learning exploratory-training framework on NNI
      </a> <i>- scheduled on June-24-2021</i>
    </li>
    <li><b>New community channel:</b> <a href="https://github.com/microsoft/nni/discussions">Discussions</a></li>
    <li>
      <div><b>New emoticons release:</b> <a href="{{ pathto('nnSpider') }}">nnSpider</a></div>
      <img class="gap" src="_static/img/home.svg"></img>
    </li>
  </ul>
65
66
</div>
<!-- NNI capabilities in a glance -->
67
68
69
<div class="gap">
  <h2 class="title">NNI capabilities in a glance</h2>
  <p class="rowHeight">
70
71
72
73
74
    NNI provides CommandLine Tool as well as an user friendly WebUI to manage training experiements.
    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 stat-of-the-art
    AutoML algorithms and out of box support for popular training platforms.
  </p>
75
  <p class="rowHeight">
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
    Within the following table, we summarized the current NNI capabilities,
    we are gradually adding new capabilities and we'd love to have your contribution.
  </p>
</div>

<p align="center">
  <a href="#overview"><img src="_static/img/overview.svg" /></a>
</p>

<table class="list">
  <tbody>
    <tr align="center" valign="bottom" class="column">
      <td></td>
      <td class="framework">
        <b>Frameworks & Libraries</b>
      </td>
      <td>
        <b>Algorithms</b>
      </td>
      <td>
        <b>Training Services</b>
      </td>
    </tr>
    </tr>
    <tr>
      <td class="verticalMiddle"><b>Built-in</b></td>
      <td>
        <ul class="firstUl">
          <li><b>Supported Frameworks</b></li>
          <ul class="circle">
            <li>PyTorch</li>
            <li>Keras</li>
            <li>TensorFlow</li>
            <li>MXNet</li>
            <li>Caffe2</li>
            <a href="{{ pathto('SupportedFramework_Library') }}">More...</a><br />
          </ul>
        </ul>
        <ul class="firstUl">
          <li><b>Supported Libraries</b></li>
          <ul class="circle">
            <li>Scikit-learn</li>
            <li>XGBoost</li>
            <li>LightGBM</li>
            <a href="{{ pathto('SupportedFramework_Library') }}">More...</a><br />
          </ul>
        </ul>
        <ul class="firstUl">
          <li><b>Examples</b></li>
          <ul class="circle">
126
            <li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-pytorch">MNIST-pytorch</li>
127
            </a>
QuanluZhang's avatar
QuanluZhang committed
128
            <li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-tfv2">MNIST-tensorflow</li>
129
            </a>
130
            <li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-keras">MNIST-keras</li></a>
131
132
133
134
            <li><a href="{{ pathto('TrialExample/GbdtExample') }}">Auto-gbdt</a></li>
            <li><a href="{{ pathto('TrialExample/Cifar10Examples') }}">Cifar10-pytorch</li></a>
            <li><a href="{{ pathto('TrialExample/SklearnExamples') }}">Scikit-learn</a></li>
            <li><a href="{{ pathto('TrialExample/EfficientNet') }}">EfficientNet</a></li>
QuanluZhang's avatar
QuanluZhang committed
135
            <li><a href="{{ pathto('TrialExample/OpEvoExamples') }}">Kernel Tunning</li></a>
136
137
138
139
140
141
142
143
144
            <a href="{{ pathto('SupportedFramework_Library') }}">More...</a><br />
          </ul>
        </ul>
      </td>
      <td align="left">
        <a href="{{ pathto('Tuner/BuiltinTuner') }}">Hyperparameter Tuning</a>
        <ul class="firstUl">
          <div><b>Exhaustive search</b></div>
          <ul class="circle">
QuanluZhang's avatar
QuanluZhang committed
145
146
147
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#Random">Random Search</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#GridSearch">Grid Search</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#Batch">Batch</a></li>
148
149
150
          </ul>
          <div><b>Heuristic search</b></div>
          <ul class="circle">
QuanluZhang's avatar
QuanluZhang committed
151
152
153
154
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#Evolution">Naïve Evolution</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#Anneal">Anneal</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#Hyperband">Hyperband</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#PBTTuner">PBT</a></li>
155
156
157
          </ul>
          <div><b>Bayesian optimization</b></div>
          <ul class="circle">
QuanluZhang's avatar
QuanluZhang committed
158
159
160
161
162
163
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#BOHB">BOHB</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#TPE">TPE</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#SMAC">SMAC</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#MetisTuner">Metis Tuner</a></li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#GPTuner">GP Tuner</a> </li>
            <li><a href="{{ pathto('Tuner/BuiltinTuner') }}#DNGOTuner">DNGO Tuner</a></li>
164
165
          </ul>
        </ul>
QuanluZhang's avatar
QuanluZhang committed
166
        <a href="{{ pathto('NAS/Overview') }}">Neural Architecture Search (Retiarii)</a>
167
168
169
170
171
172
        <ul class="firstUl">
          <ul class="circle">
            <li><a href="{{ pathto('NAS/ENAS') }}">ENAS</a></li>
            <li><a href="{{ pathto('NAS/DARTS') }}">DARTS</a></li>
            <li><a href="{{ pathto('NAS/SPOS') }}">SPOS</a></li>
            <li><a href="{{ pathto('NAS/Proxylessnas') }}">ProxylessNAS</a></li>
QuanluZhang's avatar
QuanluZhang committed
173
174
175
176
            <li><a href="{{ pathto('NAS/FBNet') }}">FBNet</a></li>
            <li><a href="{{ pathto('NAS/ExplorationStrategies') }}">Reinforcement Learning</a></li>
            <li><a href="{{ pathto('NAS/ExplorationStrategies') }}">Regularized Evolution</a></li>
            <li><a href="{{ pathto('NAS/Overview') }}">More...</a></li>
177
178
          </ul>
        </ul>
179
        <a href="{{ pathto('Compression/Overview') }}">Model Compression</a>
180
181
182
        <ul class="firstUl">
          <div><b>Pruning</b></div>
          <ul class="circle">
QuanluZhang's avatar
QuanluZhang committed
183
184
185
186
187
188
189
190
            <li><a href="{{ pathto('Compression/Pruner') }}#agp-pruner">AGP Pruner</a></li>
            <li><a href="{{ pathto('Compression/Pruner') }}#slim-pruner">Slim Pruner</a></li>
            <li><a href="{{ pathto('Compression/Pruner') }}#fpgm-pruner">FPGM Pruner</a></li>
            <li><a href="{{ pathto('Compression/Pruner') }}#netadapt-pruner">NetAdapt Pruner</a></li>
            <li><a href="{{ pathto('Compression/Pruner') }}#simulatedannealing-pruner">SimulatedAnnealing Pruner</a></li>
            <li><a href="{{ pathto('Compression/Pruner') }}#admm-pruner">ADMM Pruner</a></li>
            <li><a href="{{ pathto('Compression/Pruner') }}#autocompress-pruner">AutoCompress Pruner</a></li>
            <li><a href="{{ pathto('Compression/Overview') }}">More...</a></li>
191
192
193
          </ul>
          <div><b>Quantization</b></div>
          <ul class="circle">
QuanluZhang's avatar
QuanluZhang committed
194
195
196
            <li><a href="{{ pathto('Compression/Quantizer') }}#qat-quantize">QAT Quantizer</a></li>
            <li><a href="{{ pathto('Compression/Quantizer') }}#dorefa-quantizer">DoReFa Quantizer</a></li>
            <li><a href="{{ pathto('Compression/Quantizer') }}#bnn-quantizer">BNN Quantizer</a></li>
197
198
199
200
201
202
203
204
205
          </ul>
        </ul>
        <a href="{{ pathto('FeatureEngineering/Overview') }}">Feature Engineering (Beta)</a>
        <ul class="circle">
          <li><a href="{{ pathto('FeatureEngineering/GradientFeatureSelector') }}">GradientFeatureSelector</a></li>
          <li><a href="{{ pathto('FeatureEngineering/GBDTSelector') }}">GBDTSelector</a></li>
        </ul>
        <a href="{{ pathto('Assessor/BuiltinAssessor') }}">Early Stop Algorithms</a>
        <ul class="circle">
QuanluZhang's avatar
QuanluZhang committed
206
207
          <li><a href="{{ pathto('Assessor/BuiltinAssessor') }}#MedianStop">Median Stop</a></li>
          <li><a href="{{ pathto('Assessor/BuiltinAssessor') }}#Curvefitting">Curve Fitting</a></li>
208
209
210
211
212
213
        </ul>
      </td>
      <td>
        <ul class="firstUl">
          <li><a href="{{ pathto('TrainingService/LocalMode') }}">Local Machine</a></li>
          <li><a href="{{ pathto('TrainingService/RemoteMachineMode') }}">Remote Servers</a></li>
QuanluZhang's avatar
QuanluZhang committed
214
215
          <li><a href="{{ pathto('TrainingService/HybridMode') }}">Hybrid mode</a></li>
          <li><a href="{{ pathto('TrainingService/AMLMode') }}">AML(Azure Machine Learning)</a></li>
216
          <li><b>Kubernetes based services</b></li>
QuanluZhang's avatar
QuanluZhang committed
217
          <ul>
218
219
            <li><a href="{{ pathto('TrainingService/PaiMode') }}">OpenPAI</a></li>
            <li><a href="{{ pathto('TrainingService/KubeflowMode') }}">Kubeflow</a></li>
QuanluZhang's avatar
QuanluZhang committed
220
            <li><a href="{{ pathto('TrainingService/FrameworkControllerMode') }}">FrameworkController on K8S (AKS etc.)</a></li>
221
            <li><a href="{{ pathto('TrainingService/DLTSMode') }}">DLWorkspace (aka. DLTS)</a></li>
QuanluZhang's avatar
QuanluZhang committed
222
            <li><a href="{{ pathto('TrainingService/AdaptDLMode') }}">AdaptDL (aka. ADL)</a></li>
223
224
225
226
227
228
229
230
          </ul>
        </ul>
      </td>
    </tr>
    <tr valign="top">
      <td class="verticalMiddle"><b>References</b></td>
      <td>
        <ul class="firstUl">
QuanluZhang's avatar
QuanluZhang committed
231
          <li><a href="{{ pathto('Tutorial/HowToLaunchFromPython') }}">Python API</a></li>
232
          <li><a href="{{ pathto('Tutorial/AnnotationSpec') }}">NNI Annotation</a></li>
QuanluZhang's avatar
QuanluZhang committed
233
          <li><a href="{{ pathto('installation') }}">Supported OS</a></li>
234
235
236
237
238
239
        </ul>
      </td>
      <td>
        <ul class="firstUl">
          <li><a href="{{ pathto('Tuner/CustomizeTuner') }}">CustomizeTuner</a></li>
          <li><a href="{{ pathto('Assessor/CustomizeAssessor') }}">CustomizeAssessor</a></li>
chicm-ms's avatar
chicm-ms committed
240
          <li><a href="{{ pathto('Tutorial/InstallCustomizedAlgos') }}">Install Customized Algorithms as Builtin Tuners/Assessors/Advisors</a></li>
QuanluZhang's avatar
QuanluZhang committed
241
242
          <li><a href="{{ pathto('NAS/QuickStart') }}">Define NAS Model Space</a></li>
          <li><a href="{{ pathto('NAS/ApiReference') }}">NAS/Retiarii APIs</a></li>
243
244
245
246
        </ul>
      </td>
      <td>
        <ul class="firstUl">
247
          <li><a href="{{ pathto('TrainingService/Overview') }}">Support TrainingService</a></li>
248
249
250
251
252
253
254
255
          <li><a href="{{ pathto('TrainingService/HowToImplementTrainingService') }}">Implement TrainingService</a></li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<!-- Installation -->
256
257
<div class="gap">
  <h2 class="title">Installation</h2>
258
  <div>
259
260
    <h3 class="second-title">Install</h3>
    <div class="gap2">
261
      NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1,
262
263
      and Windows 10 >= 1809. Simply run the following <code>pip install</code>
      in an environment that has <code>python 64-bit >= 3.6</code>.
264
    </div>
265
266
267
268
    <div class="command-intro">Linux or macOS</div>
    <div class="command">python3 -m pip install --upgrade nni</div>
    <div class="command-intro">Windows</div>
    <div class="command">python -m pip install --upgrade nni</div>
269
    <div class="command-intro">If you want to try latest code, please <a href="{{ pathto('installation') }}">install
270
        NNI</a> from source code.
271
272
273
    </div>
    <div class="chinese">For detail system requirements of NNI, please refer to <a href="{{ pathto('Tutorial/InstallationLinux') }}">here</a>
      for Linux & macOS, and <a href="{{ pathto('Tutorial/InstallationWin') }}">here</a> for Windows.</div>
274
275
276
277
278
  </div>
  <div>
    <p>Note:</p>
    <ul>
      <li>If there is any privilege issue, add --user to install NNI in the user directory.</li>
279
      <li class="rowHeight">Currently NNI on Windows supports local, remote and pai mode. Anaconda or Miniconda is highly
280
        recommended to install <a href="{{ pathto('Tutorial/InstallationWin') }}">NNI on Windows</a>.</li>
281
      <li>If there is any error like Segmentation fault, please refer to <a
282
          href="{{ pathto('installation') }}">FAQ</a>. For FAQ on Windows, please refer
283
        to <a href="{{ pathto('Tutorial/InstallationWin') }}">NNI on Windows</a>.</li>
284
285
286
    </ul>
  </div>
  <div>
287
288
    <h3 class="second-title gap">Verify installation</h3>
    <div>
289
290
      The following example is built on TensorFlow 1.x. Make sure <b>TensorFlow 1.x is used</b> when running
      it.
291
    </div>
292
293
    <ul>
      <li>
294
        <div class="command-intro">Download the examples via clone the source code.</div>
Lijiaoa's avatar
Lijiaoa committed
295
        <div class="command">git clone -b {{ release }} https://github.com/Microsoft/nni.git</div>
296
297
      </li>
      <li>
298
        <div>Run the MNIST example.</div>
299
        <div class="command-intro">Linux or macOS</div>
QuanluZhang's avatar
QuanluZhang committed
300
        <div class="command">nnictl create --config nni/examples/trials/mnist-pytorch/config.yml</div>
301
        <div class="command-intro">Windows</div>
QuanluZhang's avatar
QuanluZhang committed
302
        <div class="command">nnictl create --config nni\examples\trials\mnist-pytorch\config_windows.yml</div>
303
304
      </li>
      <li>
305
        <div class="rowHeight">
306
307
308
          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.
309
        </div>
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
        <!-- Indentation affects style! -->
        <pre class="code">
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
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
-----------------------------------------------------------------------
</pre>
      </li>
337
      <li class="rowHeight">
338
339
340
        Open the Web UI url in your browser, you can view detail information of the experiment and
        all the submitted trial jobs as shown below. <a href="{{ pathto('Tutorial/WebUI') }}">Here</a> are more Web UI
        pages.
341
        <img class="gap" src="_static/img/webui.gif" width="100%"/>
342
343
344
345
346
  </div>
  </li>
  </ul>
</div>

347
348
349
350
351
352
353
354
355
356
357
358
359
<!-- Releases and Contributing -->
<div class="gap">
  <h2 class="title">Releases and Contributing</h2>
  <div>NNI has a monthly release cycle (major releases). Please let us know if you encounter a bug by filling an issue.</div>
  <br/>
  <div>We appreciate all contributions. If you are planning to contribute any bug-fixes, please do so without further discussions.</div>
  <br/>
  <div class="rowHeight">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.</div>
  <br/>
  <div>To learn more about making a contribution to NNI, please refer to our <a href="{{ pathto('contribution') }}"">How-to contribution page</a>.</div>
  <br/>
  <div>We appreciate all contributions and thank all the contributors!</div>
  <img class="gap" src="_static/img/contributors.png"></img>
360
361
</div>
<!-- feedback -->
362
363
<div class="gap">
  <h2 class="title">Feedback</h2>
364
365
  <ul>
    <li><a href="https://github.com/microsoft/nni/issues/new/choose">File an issue</a> on GitHub.</li>
366
367
    <li>Open or participate in a <a href="https://github.com/microsoft/nni/discussions">discussion</a>.</li>
    <li>Discuss on the <a href="https://gitter.im/Microsoft/nni?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">NNI Gitter</a> in NNI.</li>
368
369
  </ul>
  <div>
370
371
    <div class="rowHeight">Join IM discussion groups:</div>
    <table class="gap" border=1 style="border-collapse: collapse;">
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
      <tbody>
        <tr style="line-height: 30px;">
          <th>Gitter</th>
          <td></td>
          <th>WeChat</th>
        </tr>
        <tr>
          <td class="QR">
            <img src="https://user-images.githubusercontent.com/39592018/80665738-e0574a80-8acc-11ea-91bc-0836dc4cbf89.png" alt="Gitter" />
          </td>
          <td width="80" align="center" class="or">OR</td>
          <td class="QR">
            <img src="https://github.com/scarlett2018/nniutil/raw/master/wechat.png" alt="NNI Wechat" />
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
<!-- Test status -->
<div class="gap">
  <h2 class="title">Test status</h2>
  <h3>Essentials</h3>
  <table class="pipeline">
    <tr>
      <th>Type</th>
      <th>Status</th>
    </tr>
    <tr>
      <td>Fast test</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=54&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/fast%20test?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Full linux</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=62&repoName=microsoft%2Fnni&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/full%20test%20-%20linux?repoName=microsoft%2Fnni&branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Full windows</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=63&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/full%20test%20-%20windows?branchName=master"/>
        </a>
      </td>
    </tr>
  </table>
  <h3 class="gap">Training services</h3>
  <table class="pipeline">
    <tr>
      <th>Type</th>
      <th>Status</th>
    </th>
    <tr>
      <td>Remote - linux to linux</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=64&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20remote%20-%20linux%20to%20linux?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Remote - linux to windows</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=67&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20remote%20-%20linux%20to%20windows?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Remote - windows to linux</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=68&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20remote%20-%20windows%20to%20linux?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>OpenPAI</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=65&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20openpai%20-%20linux?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Frameworkcontroller</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=70&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20frameworkcontroller?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Kubeflow</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=69&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20kubeflow?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>Hybrid</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=79&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20hybrid?branchName=master"/>
        </a>
      </td>
    </tr>
    <tr>
      <td>AzureML</td>
      <td>
        <a href="https://msrasrg.visualstudio.com/NNIOpenSource/_build/latest?definitionId=78&branchName=master">
          <img src="https://msrasrg.visualstudio.com/NNIOpenSource/_apis/build/status/integration%20test%20-%20aml?branchName=master"/>
        </a>
      </td>
    </tr>
  </table>
</div>
497
<!-- Related Projects -->
498
499
500
<div class="gap">
  <h2 class="title">Related Projects</h2>
  <p class="rowHeight">
501
    Targeting at openness and advancing state-of-art technology,
502
    <a href="https://www.microsoft.com/en-us/research/group/systems-and-networking-research-group-asia/">Microsoft Research (MSR)</a>
503
504
505
    had also released few
    other open source projects.</p>
  <ul id="relatedProject">
506
    <li class="rowHeight">
507
508
509
510
511
      <a href="https://github.com/Microsoft/pai">OpenPAI</a> : 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.
    </li>
512
    <li class="rowHeight">
513
514
515
516
      <a href="https://github.com/Microsoft/frameworkcontroller">FrameworkController</a> : an open source
      general-purpose Kubernetes Pod Controller that orchestrate
      all kinds of applications on Kubernetes by a single controller.
    </li>
517
    <li class="rowHeight">
518
519
520
521
522
      <a href="https://github.com/Microsoft/MMdnn">MMdnn</a> : 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.
    </li>
523
    <li class="rowHeight">
524
525
526
527
      <a href="https://github.com/Microsoft/SPTAG">SPTAG</a> : Space Partition Tree And Graph (SPTAG) is an open
      source library
      for large scale vector approximate nearest neighbor search scenario.
    </li>
528
529
530
    <li class="rowHeight">
      <a href="https://github.com/Microsoft/SPTAG">nn-Meter</a> : An accurate inference latency predictor for DNN models on diverse edge devices.
    </li>
531
532
533
534
535
536
  </ul>
  <p>We encourage researchers and students leverage these projects to accelerate the AI development and research.</p>
</div>

<!-- License -->
<div>
537
  <h2 class="title">License</h2>
538
  <p>The entire codebase is under <a href="https://github.com/microsoft/nni/blob/master/LICENSE">MIT license</a></p>
539
540
541
</div>
</div>
{% endblock %}