"src/targets/gpu/vscode:/vscode.git/clone" did not exist on "cbd5bac894c8597b1157fa09ddb59772b23b2f37"
Unverified Commit bb0a8700 authored by Yuge Zhang's avatar Yuge Zhang Committed by GitHub
Browse files

Prettify docs (#4500)

parent 1609e8a4
......@@ -12,3 +12,4 @@ sphinx
sphinx-argparse
sphinx-rtd-theme
sphinxcontrib-websupport
git+https://github.com/bashtage/sphinx-material.git
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<div class="rowHeight">
<div class="chinese"><a href="https://nni.readthedocs.io/zh/stable/">简体中文</a></div>
<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
<a href="{{ pathto('Compression/Overview') }}">Model Compression</a>.
</div>
<p class="gap rowHeight">
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>,
<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>.
</p>
<!-- Who should consider using NNI -->
<div>
<h2 class="title">Who should consider using NNI</h2>
<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>
<li class="rowHeight">Researchers and data scientists who want to easily <b>implement and experiement new AutoML
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>
<!-- 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>
<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>
<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>
</div>
<!-- NNI capabilities in a glance -->
<div class="gap">
<h2 class="title">NNI capabilities in a glance</h2>
<p class="rowHeight">
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>
<p class="rowHeight">
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">
<li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-pytorch">MNIST-pytorch</li>
</a>
<li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-tfv2">MNIST-tensorflow</li>
</a>
<li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-keras">MNIST-keras</li></a>
<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>
<li><a href="{{ pathto('TrialExample/OpEvoExamples') }}">Kernel Tunning</li></a>
<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">
<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>
</ul>
<div><b>Heuristic search</b></div>
<ul class="circle">
<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>
</ul>
<div><b>Bayesian optimization</b></div>
<ul class="circle">
<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>
</ul>
</ul>
<a href="{{ pathto('NAS/Overview') }}">Neural Architecture Search (Retiarii)</a>
<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>
<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>
</ul>
</ul>
<a href="{{ pathto('Compression/Overview') }}">Model Compression</a>
<ul class="firstUl">
<div><b>Pruning</b></div>
<ul class="circle">
<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>
</ul>
<div><b>Quantization</b></div>
<ul class="circle">
<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>
</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">
<li><a href="{{ pathto('Assessor/BuiltinAssessor') }}#MedianStop">Median Stop</a></li>
<li><a href="{{ pathto('Assessor/BuiltinAssessor') }}#Curvefitting">Curve Fitting</a></li>
</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>
<li><a href="{{ pathto('TrainingService/HybridMode') }}">Hybrid mode</a></li>
<li><a href="{{ pathto('TrainingService/AMLMode') }}">AML(Azure Machine Learning)</a></li>
<li><b>Kubernetes based services</b></li>
<ul>
<li><a href="{{ pathto('TrainingService/PaiMode') }}">OpenPAI</a></li>
<li><a href="{{ pathto('TrainingService/KubeflowMode') }}">Kubeflow</a></li>
<li><a href="{{ pathto('TrainingService/FrameworkControllerMode') }}">FrameworkController on K8S (AKS etc.)</a></li>
<li><a href="{{ pathto('TrainingService/DLTSMode') }}">DLWorkspace (aka. DLTS)</a></li>
<li><a href="{{ pathto('TrainingService/AdaptDLMode') }}">AdaptDL (aka. ADL)</a></li>
</ul>
</ul>
</td>
</tr>
<tr valign="top">
<td class="verticalMiddle"><b>References</b></td>
<td>
<ul class="firstUl">
<li><a href="{{ pathto('Tutorial/HowToLaunchFromPython') }}">Python API</a></li>
<li><a href="{{ pathto('Tutorial/AnnotationSpec') }}">NNI Annotation</a></li>
<li><a href="{{ pathto('installation') }}">Supported OS</a></li>
</ul>
</td>
<td>
<ul class="firstUl">
<li><a href="{{ pathto('Tuner/CustomizeTuner') }}">CustomizeTuner</a></li>
<li><a href="{{ pathto('Assessor/CustomizeAssessor') }}">CustomizeAssessor</a></li>
<li><a href="{{ pathto('Tutorial/InstallCustomizedAlgos') }}">Install Customized Algorithms as Builtin Tuners/Assessors/Advisors</a></li>
<li><a href="{{ pathto('NAS/QuickStart') }}">Define NAS Model Space</a></li>
<li><a href="{{ pathto('NAS/ApiReference') }}">NAS/Retiarii APIs</a></li>
</ul>
</td>
<td>
<ul class="firstUl">
<li><a href="{{ pathto('TrainingService/Overview') }}">Support TrainingService</a></li>
<li><a href="{{ pathto('TrainingService/HowToImplementTrainingService') }}">Implement TrainingService</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<!-- Installation -->
<div class="gap">
<h2 class="title">Installation</h2>
<div>
<h3 class="second-title">Install</h3>
<div class="gap2">
NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1,
and Windows 10 >= 1809. Simply run the following <code>pip install</code>
in an environment that has <code>python 64-bit >= 3.6</code>.
</div>
<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>
<div class="command-intro">If you want to try latest code, please <a href="{{ pathto('installation') }}">install
NNI</a> from source code.
</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>
</div>
<div>
<p>Note:</p>
<ul>
<li>If there is any privilege issue, add --user to install NNI in the user directory.</li>
<li class="rowHeight">Currently NNI on Windows supports local, remote and pai mode. Anaconda or Miniconda is highly
recommended to install <a href="{{ pathto('Tutorial/InstallationWin') }}">NNI on Windows</a>.</li>
<li>If there is any error like Segmentation fault, please refer to <a
href="{{ pathto('installation') }}">FAQ</a>. For FAQ on Windows, please refer
to <a href="{{ pathto('Tutorial/InstallationWin') }}">NNI on Windows</a>.</li>
</ul>
</div>
<div>
<h3 class="second-title gap">Verify installation</h3>
<div>
The following example is built on TensorFlow 1.x. Make sure <b>TensorFlow 1.x is used</b> when running
it.
</div>
<ul>
<li>
<div class="command-intro">Download the examples via clone the source code.</div>
<div class="command">git clone -b {{ release }} https://github.com/Microsoft/nni.git</div>
</li>
<li>
<div>Run the MNIST example.</div>
<div class="command-intro">Linux or macOS</div>
<div class="command">nnictl create --config nni/examples/trials/mnist-pytorch/config.yml</div>
<div class="command-intro">Windows</div>
<div class="command">nnictl create --config nni\examples\trials\mnist-pytorch\config_windows.yml</div>
</li>
<li>
<div class="rowHeight">
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.
</div>
<!-- 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>
<li class="rowHeight">
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.
<img class="gap" src="_static/img/webui.gif" width="100%"/>
</div>
</li>
</ul>
</div>
<!-- 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>
</div>
<!-- feedback -->
<div class="gap">
<h2 class="title">Feedback</h2>
<ul>
<li><a href="https://github.com/microsoft/nni/issues/new/choose">File an issue</a> on GitHub.</li>
<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>
</ul>
<div>
<div class="rowHeight">Join IM discussion groups:</div>
<table class="gap" border=1 style="border-collapse: collapse;">
<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>
<!-- 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>
<!-- Related Projects -->
<div class="gap">
<h2 class="title">Related Projects</h2>
<p class="rowHeight">
Targeting at openness and advancing state-of-art technology,
<a href="https://www.microsoft.com/en-us/research/group/systems-and-networking-research-group-asia/">Microsoft Research (MSR)</a>
had also released few
other open source projects.</p>
<ul id="relatedProject">
<li class="rowHeight">
<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>
<li class="rowHeight">
<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>
<li class="rowHeight">
<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>
<li class="rowHeight">
<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>
<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>
</ul>
<p>We encourage researchers and students leverage these projects to accelerate the AI development and research.</p>
</div>
<!-- License -->
<div>
<h2 class="title">License</h2>
<p>The entire codebase is under <a href="https://github.com/microsoft/nni/blob/master/LICENSE">MIT license</a></p>
</div>
</div>
{% endblock %}
{% extends "!layout.html" %}
{% block sidebartitle %}
{% if logo and theme_logo_only %}
<a href="{{ pathto('index') }}">
{% else %}
<a href="{{ pathto('index') }}" class="icon icon-home"> {{ project }}
{% endif %}
{% if logo %}
{# Not strictly valid HTML, but it's the only way to display/scale it properly, without weird scripting or heaps of work #}
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" />
{% endif %}
</a>
{% if theme_display_version %}
{%- set nav_version = version %}
{% if READTHEDOCS and current_version %}
{%- set nav_version = current_version %}
{% endif %}
{% if nav_version %}
<div class="version">
{{ nav_version }}
</div>
{% endif %}
{% endif %}
{% include "searchbox.html" %}
{% endblock %}
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2 class="center">nnSpider emoticons</h2>
<ul class="emotion">
<li class="first">
<div>
<a href="{{ pathto('nnSpider/nobug') }}">
<img src="_static/img/NoBug.png" alt="NoBug" />
</a>
</div>
<p class="center">NoBug</p>
</li>
<li class="first">
<div>
<a href="{{ pathto('nnSpider/holiday') }}">
<img src="_static/img/Holiday.png" alt="Holiday" />
</a>
</div>
<p class="center">Holiday</p>
</li>
<li class="first">
<div>
<a href="{{ pathto('nnSpider/errorEmotion') }}">
<img src="_static/img/Error.png" alt="Error" />
</a>
</div>
<p class="center">Error</p>
</li>
<li class="second">
<div>
<a href="{{ pathto('nnSpider/working') }}">
<img class="working" src="_static/img/Working.png" alt="Working" />
</a>
</div>
<p class="center">Working</p>
</li>
<li class="second">
<div>
<a href="{{ pathto('nnSpider/sign') }}">
<img class="sign" src="_static/img/Sign.png" alt="Sign" />
</a>
</div>
<p class="center">Sign</p>
</li>
<li class="second">
<div>
<a href="{{ pathto('nnSpider/crying') }}">
<img class="crying" src="_static/img/Crying.png" alt="Crying" />
</a>
</div>
<p class="center">Crying</p>
</li>
<li class="three">
<div>
<a href="{{ pathto('nnSpider/cut') }}">
<img src="_static/img/Cut.png" alt="Crying" />
</a>
</div>
<p class="center">Cut</p>
</li>
<li class="three">
<div>
<a href="{{ pathto('nnSpider/weaving') }}">
<img class="weaving" src="_static/img/Weaving.png" alt="Weaving" />
</a>
</div>
<p class="center">weaving</p>
</li>
<li class="three">
<div class="comfort">
<a href="{{ pathto('nnSpider/comfort') }}">
<img src="_static/img/Comfort.png" alt="Weaving" />
</a>
</div>
<p class="center">comfort</p>
</li>
<li class="four">
<div>
<a href="{{ pathto('nnSpider/sweat') }}">
<img src="_static/img/Sweat.png" alt="Sweat" />
</a>
</div>
<p class="center">Sweat</p>
</li>
<div class="clear"></div>
</ul>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Comfort</h2>
<div class="details-container">
<img src="../_static/img/Comfort.png" alt="Comfort" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Crying</h2>
<div class="details-container">
<img src="../_static/img/Crying.png" alt="Crying" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Cut</h2>
<div class="details-container">
<img src="../_static/img/Cut.png" alt="Cut" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Error</h2>
<div class="details-container">
<img src="../_static/img/Error.png" alt="Error" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Holiday</h2>
<div class="details-container">
<img src="../_static/img/Holiday.png" alt="NoBug" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>NoBug</h2>
<div class="details-container">
<img src="../_static/img/NoBug.png" alt="NoBug" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Sign</h2>
<div class="details-container">
<img src="../_static/img/Sign.png" alt="Sign" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Sweat</h2>
<div class="details-container">
<img src="../_static/img/Sweat.png" alt="Sweat" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Weaving</h2>
<div class="details-container">
<img src="../_static/img/Weaving.png" alt="Weaving" />
</div>
{% endblock %}
\ No newline at end of file
{% extends "!layout.html" %}
{% set title = "Welcome To Neural Network Intelligence !!!"%}
{% block document %}
<h2>Working</h2>
<div class="details-container">
<img src="../_static/img/Working.png" alt="Working" />
</div>
{% endblock %}
\ No newline at end of file
......@@ -20,13 +20,15 @@ sys.path.insert(0, os.path.abspath('../..'))
# -- Project information ---------------------------------------------------
from datetime import datetime
project = 'NNI'
copyright = '2021, Microsoft'
copyright = f'{datetime.now().year}, Microsoft'
author = 'Microsoft'
# The short X.Y version
version = ''
# The full version, including alpha/beta/rc tags
# FIXME: this should be written somewhere globally
release = 'v2.6'
# -- General configuration ---------------------------------------------------
......@@ -54,14 +56,14 @@ extensions = [
autodoc_mock_imports = ['apex', 'nni_node', 'tensorrt', 'pycuda', 'nn_meter']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
templates_path = ['../templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
source_suffix = ['.rst']
# The master toctree document.
master_doc = 'contents'
master_doc = 'index'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
......@@ -78,38 +80,64 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'Release_v1.0.md', '**.i
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = None
# -- Options for HTML output -------------------------------------------------
html_additional_pages = {
'index': 'index.html',
'nnSpider': 'nnSpider.html',
'nnSpider/nobug': 'nnSpider/nobug.html',
'nnSpider/holiday': 'nnSpider/holiday.html',
'nnSpider/errorEmotion': 'nnSpider/errorEmotion.html',
'nnSpider/working': 'nnSpider/working.html',
'nnSpider/sign': 'nnSpider/sign.html',
'nnSpider/crying': 'nnSpider/crying.html',
'nnSpider/cut': 'nnSpider/cut.html',
'nnSpider/weaving': 'nnSpider/weaving.html',
'nnSpider/comfort': 'nnSpider/comfort.html',
'nnSpider/sweat': 'nnSpider/sweat.html'
# HTML logo
html_logo = '../img/nni_icon.svg'
}
# -- Options for HTML output -------------------------------------------------
# HTML favicon
html_favicon = '../img/favicon.ico'
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme = 'sphinx_material'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
html_theme_options = {
'logo_only': True,
# Set the name of the project to appear in the navigation.
'nav_title': 'Neural Network Intelligence',
# Set you GA account ID to enable tracking
'google_analytics_account': 'UA-136029994-1',
# Specify a base_url used to generate sitemap.xml. If not
# specified, then no sitemap will be built.
'base_url': 'https://nni.readthedocs.io/',
# Set the color and the accent color
# We can't have our customized themes currently
# Remember to update static/css/material_custom.css when this is updated.
'color_primary': 'indigo',
'color_accent': 'pink',
# Set the repo location to get a badge with stats
'repo_url': 'https://github.com/microsoft/nni/',
'repo_name': 'nni',
# Visible levels of the global TOC; -1 means unlimited
'globaltoc_depth': 3,
'version_dropdown': True,
# This is a placeholder, which should be replaced later.
'version_info': {
'current': '/'
},
# Text to appear at the top of the home page in a "hero" div.
'heroes': {
# We can have heroes for the home pages of HPO, NAS, Compression in future.
'index': 'An open source AutoML toolkit for neural architecture search, model compression and hyper-parameter tuning.'
}
}
# Disable show source link.
html_show_sourcelink = False
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
......@@ -123,11 +151,22 @@ html_static_path = ['../static']
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
# html_sidebars = {}
html_sidebars = {
"**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"]
}
html_logo = '../img/nni_logo_dark.png'
html_title = 'An open source AutoML toolkit for neural architecture search, model compression and hyper-parameter tuning (%s %s)' % \
(project, release)
html_title = 'Neural Network Intelligence'
# Add extra css files and js files
html_css_files = [
'css/material_custom.css',
'css/material_dropdown.css',
'css/index_page.css',
]
html_js_files = [
'js/version.js',
'js/github.js',
]
# -- Options for HTMLHelp output ---------------------------------------------
......@@ -210,7 +249,3 @@ git_commit_id = subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().s
extlinks = {
'githublink': ('https://github.com/microsoft/nni/blob/' + git_commit_id + '/%s', 'Github link: ')
}
# -- Extension configuration -------------------------------------------------
def setup(app):
app.add_css_file('css/custom.css')
###########################
Neural Network Intelligence
###########################
.. toctree::
:caption: Table of Contents
:maxdepth: 2
:titlesonly:
Overview
Installation <installation>
QuickStart <Tutorial/QuickStart>
Auto (Hyper-parameter) Tuning <hyperparameter_tune>
Neural Architecture Search <nas>
Model Compression <model_compression>
Feature Engineering <feature_engineering>
References <reference>
Use Cases and Solutions <CommunitySharings/community_sharings>
Research and Publications <ResearchPublications>
FAQ <Tutorial/FAQ>
How to Contribute <contribution>
Change Log <Release>
.. modified from index.html
.. replace \{\{ pathto\('(.*)'\) \}\} -> $1.html
###########################
Neural Network Intelligence
###########################
.. toctree::
:maxdepth: 2
:titlesonly:
:hidden:
Overview
Installation <installation>
QuickStart <Tutorial/QuickStart>
Auto (Hyper-parameter) Tuning <hyperparameter_tune>
Neural Architecture Search <nas>
Model Compression <model_compression>
Feature Engineering <feature_engineering>
References <reference>
Use Cases and Solutions <CommunitySharings/community_sharings>
Research and Publications <ResearchPublications>
FAQ <Tutorial/FAQ>
How to Contribute <contribution>
Change Log <Release>
.. raw:: html
<div class="rowHeight">
<div class="chinese"><a href="https://nni.readthedocs.io/zh/stable/">简体中文</a></div>
<b>NNI (Neural Network Intelligence)</b> is a lightweight but powerful toolkit to
help users <b>automate</b>
<a href="FeatureEngineering/Overview.html">Feature Engineering</a>,
<a href="NAS/Overview.html">Neural Architecture Search</a>,
<a href="Tuner/BuiltinTuner.html">Hyperparameter Tuning</a> and
<a href="Compression/Overview.html">Model Compression</a>.
</div>
<p class="gap rowHeight">
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="TrainingService/LocalMode.html">Local Machine</a>,
<a href="TrainingService/RemoteMachineMode.html">Remote Servers</a>,
<a href="TrainingService/PaiMode.html">OpenPAI</a>,
<a href="TrainingService/KubeflowMode.html">Kubeflow</a>,
<a href="TrainingService/FrameworkControllerMode.html">FrameworkController on K8S (AKS etc.)</a>,
<a href="TrainingService/DLTSMode.html">DLWorkspace (aka. DLTS)</a>,
<a href="TrainingService/AMLMode.html">AML (Azure Machine Learning)</a>,
<a href="TrainingService/AdaptDLMode.html">AdaptDL (aka. ADL)</a>, other cloud options and even <a href="TrainingService/HybridMode.html">Hybrid mode</a>.
</p>
<!-- Who should consider using NNI -->
<div>
<h2 class="title">Who should consider using NNI</h2>
<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>
<li class="rowHeight">Researchers and data scientists who want to easily <b>implement and experiement new AutoML
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>
<!-- 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>
<li><b>New release:</b> <a href='https://github.com/microsoft/nni/releases/tag/v2.6'>v2.6 is available. <i>- released on Jan-18-2022</i></a></li>
<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="nnSpider.html">nnSpider</a></div>
<img class="gap" src="_static/img/home.svg"></img>
</li>
</ul>
</div>
<!-- NNI capabilities in a glance -->
<div class="gap">
<h2 class="title">NNI capabilities in a glance</h2>
<p class="rowHeight">
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>
<p class="rowHeight">
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="main-table">
<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="SupportedFramework_Library.html">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="SupportedFramework_Library.html">More...</a><br />
</ul>
</ul>
<ul class="firstUl">
<li><b>Examples</b></li>
<ul class="circle">
<li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-pytorch">MNIST-pytorch</li>
</a>
<li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-tfv2">MNIST-tensorflow</li>
</a>
<li><a href="https://github.com/microsoft/nni/tree/master/examples/trials/mnist-keras">MNIST-keras</li></a>
<li><a href="TrialExample/GbdtExample.html">Auto-gbdt</a></li>
<li><a href="TrialExample/Cifar10Examples.html">Cifar10-pytorch</li></a>
<li><a href="TrialExample/SklearnExamples.html">Scikit-learn</a></li>
<li><a href="TrialExample/EfficientNet.html">EfficientNet</a></li>
<li><a href="TrialExample/OpEvoExamples.html">Kernel Tunning</li></a>
<a href="SupportedFramework_Library.html">More...</a><br />
</ul>
</ul>
</td>
<td align="left">
<a href="Tuner/BuiltinTuner.html">Hyperparameter Tuning</a>
<ul class="firstUl">
<div><b>Exhaustive search</b></div>
<ul class="circle">
<li><a href="Tuner/BuiltinTuner.html#Random">Random Search</a></li>
<li><a href="Tuner/BuiltinTuner.html#GridSearch">Grid Search</a></li>
<li><a href="Tuner/BuiltinTuner.html#Batch">Batch</a></li>
</ul>
<div><b>Heuristic search</b></div>
<ul class="circle">
<li><a href="Tuner/BuiltinTuner.html#Evolution">Naïve Evolution</a></li>
<li><a href="Tuner/BuiltinTuner.html#Anneal">Anneal</a></li>
<li><a href="Tuner/BuiltinTuner.html#Hyperband">Hyperband</a></li>
<li><a href="Tuner/BuiltinTuner.html#PBTTuner">PBT</a></li>
</ul>
<div><b>Bayesian optimization</b></div>
<ul class="circle">
<li><a href="Tuner/BuiltinTuner.html#BOHB">BOHB</a></li>
<li><a href="Tuner/BuiltinTuner.html#TPE">TPE</a></li>
<li><a href="Tuner/BuiltinTuner.html#SMAC">SMAC</a></li>
<li><a href="Tuner/BuiltinTuner.html#MetisTuner">Metis Tuner</a></li>
<li><a href="Tuner/BuiltinTuner.html#GPTuner">GP Tuner</a> </li>
<li><a href="Tuner/BuiltinTuner.html#DNGOTuner">DNGO Tuner</a></li>
</ul>
</ul>
<a href="NAS/Overview.html">Neural Architecture Search (Retiarii)</a>
<ul class="firstUl">
<ul class="circle">
<li><a href="NAS/ENAS.html">ENAS</a></li>
<li><a href="NAS/DARTS.html">DARTS</a></li>
<li><a href="NAS/SPOS.html">SPOS</a></li>
<li><a href="NAS/Proxylessnas.html">ProxylessNAS</a></li>
<li><a href="NAS/FBNet.html">FBNet</a></li>
<li><a href="NAS/ExplorationStrategies.html">Reinforcement Learning</a></li>
<li><a href="NAS/ExplorationStrategies.html">Regularized Evolution</a></li>
<li><a href="NAS/Overview.html">More...</a></li>
</ul>
</ul>
<a href="Compression/Overview.html">Model Compression</a>
<ul class="firstUl">
<div><b>Pruning</b></div>
<ul class="circle">
<li><a href="Compression/Pruner.html#agp-pruner">AGP Pruner</a></li>
<li><a href="Compression/Pruner.html#slim-pruner">Slim Pruner</a></li>
<li><a href="Compression/Pruner.html#fpgm-pruner">FPGM Pruner</a></li>
<li><a href="Compression/Pruner.html#netadapt-pruner">NetAdapt Pruner</a></li>
<li><a href="Compression/Pruner.html#simulatedannealing-pruner">SimulatedAnnealing Pruner</a></li>
<li><a href="Compression/Pruner.html#admm-pruner">ADMM Pruner</a></li>
<li><a href="Compression/Pruner.html#autocompress-pruner">AutoCompress Pruner</a></li>
<li><a href="Compression/Overview.html">More...</a></li>
</ul>
<div><b>Quantization</b></div>
<ul class="circle">
<li><a href="Compression/Quantizer.html#qat-quantize">QAT Quantizer</a></li>
<li><a href="Compression/Quantizer.html#dorefa-quantizer">DoReFa Quantizer</a></li>
<li><a href="Compression/Quantizer.html#bnn-quantizer">BNN Quantizer</a></li>
</ul>
</ul>
<a href="FeatureEngineering/Overview.html">Feature Engineering (Beta)</a>
<ul class="circle">
<li><a href="FeatureEngineering/GradientFeatureSelector.html">GradientFeatureSelector</a></li>
<li><a href="FeatureEngineering/GBDTSelector.html">GBDTSelector</a></li>
</ul>
<a href="Assessor/BuiltinAssessor.html">Early Stop Algorithms</a>
<ul class="circle">
<li><a href="Assessor/BuiltinAssessor.html#MedianStop">Median Stop</a></li>
<li><a href="Assessor/BuiltinAssessor.html#Curvefitting">Curve Fitting</a></li>
</ul>
</td>
<td>
<ul class="firstUl">
<li><a href="TrainingService/LocalMode.html">Local Machine</a></li>
<li><a href="TrainingService/RemoteMachineMode.html">Remote Servers</a></li>
<li><a href="TrainingService/HybridMode.html">Hybrid mode</a></li>
<li><a href="TrainingService/AMLMode.html">AML(Azure Machine Learning)</a></li>
<li><b>Kubernetes based services</b></li>
<ul>
<li><a href="TrainingService/PaiMode.html">OpenPAI</a></li>
<li><a href="TrainingService/KubeflowMode.html">Kubeflow</a></li>
<li><a href="TrainingService/FrameworkControllerMode.html">FrameworkController on K8S (AKS etc.)</a></li>
<li><a href="TrainingService/DLTSMode.html">DLWorkspace (aka. DLTS)</a></li>
<li><a href="TrainingService/AdaptDLMode.html">AdaptDL (aka. ADL)</a></li>
</ul>
</ul>
</td>
</tr>
<tr valign="top">
<td class="verticalMiddle"><b>References</b></td>
<td>
<ul class="firstUl">
<li><a href="Tutorial/HowToLaunchFromPython.html">Python API</a></li>
<li><a href="Tutorial/AnnotationSpec.html">NNI Annotation</a></li>
<li><a href="installation.html">Supported OS</a></li>
</ul>
</td>
<td>
<ul class="firstUl">
<li><a href="Tuner/CustomizeTuner.html">CustomizeTuner</a></li>
<li><a href="Assessor/CustomizeAssessor.html">CustomizeAssessor</a></li>
<li><a href="Tutorial/InstallCustomizedAlgos.html">Install Customized Algorithms as Builtin Tuners/Assessors/Advisors</a></li>
<li><a href="NAS/QuickStart.html">Define NAS Model Space</a></li>
<li><a href="NAS/ApiReference.html">NAS/Retiarii APIs</a></li>
</ul>
</td>
<td>
<ul class="firstUl">
<li><a href="TrainingService/Overview.html">Support TrainingService</a></li>
<li><a href="TrainingService/HowToImplementTrainingService.html">Implement TrainingService</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<!-- Installation -->
<div class="gap">
<h2 class="title">Installation</h2>
<div>
<h3 class="second-title">Install</h3>
<div class="gap2">
NNI supports and is tested on Ubuntu >= 16.04, macOS >= 10.14.1,
and Windows 10 >= 1809. Simply run the following <code>pip install</code>
in an environment that has <code>python 64-bit >= 3.6</code>.
</div>
<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>
<div class="command-intro">If you want to try latest code, please <a href="installation.html">install
NNI</a> from source code.
</div>
<div class="chinese">For detail system requirements of NNI, please refer to <a href="Tutorial/InstallationLinux.html">here</a>
for Linux & macOS, and <a href="Tutorial/InstallationWin.html">here</a> for Windows.</div>
</div>
<div>
<p>Note:</p>
<ul>
<li>If there is any privilege issue, add --user to install NNI in the user directory.</li>
<li class="rowHeight">Currently NNI on Windows supports local, remote and pai mode. Anaconda or Miniconda is highly
recommended to install <a href="Tutorial/InstallationWin.html">NNI on Windows</a>.</li>
<li>If there is any error like Segmentation fault, please refer to <a
href="installation.html">FAQ</a>. For FAQ on Windows, please refer
to <a href="Tutorial/InstallationWin.html">NNI on Windows</a>.</li>
</ul>
</div>
<div>
<h3 class="second-title gap">Verify installation</h3>
<div>
The following example is built on TensorFlow 1.x. Make sure <b>TensorFlow 1.x is used</b> when running
it.
</div>
<ul>
<li>
<div class="command-intro">Download the examples via clone the source code.</div>
<div class="command">git clone -b v2.6 https://github.com/Microsoft/nni.git</div>
</li>
<li>
<div>Run the MNIST example.</div>
<div class="command-intro">Linux or macOS</div>
<div class="command">nnictl create --config nni/examples/trials/mnist-pytorch/config.yml</div>
<div class="command-intro">Windows</div>
<div class="command">nnictl create --config nni\examples\trials\mnist-pytorch\config_windows.yml</div>
</li>
<li>
<div class="rowHeight">
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.
</div>
<!-- Indentation affects style! -->
<pre class="main-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>
<li class="rowHeight">
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="Tutorial/WebUI.html">Here</a> are more Web UI
pages.
<img class="gap" src="_static/img/webui.gif" width="100%"/>
</div>
</li>
</ul>
</div>
<!-- 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="contribution.html"">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>
</div>
<!-- feedback -->
<div class="gap">
<h2 class="title">Feedback</h2>
<ul>
<li><a href="https://github.com/microsoft/nni/issues/new/choose">File an issue</a> on GitHub.</li>
<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>
</ul>
<div>
<div class="rowHeight">Join IM discussion groups:</div>
<table class="gap" border=1 style="border-collapse: collapse;">
<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>
<!-- 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>
<!-- Related Projects -->
<div class="gap">
<h2 class="title">Related Projects</h2>
<p class="rowHeight">
Targeting at openness and advancing state-of-art technology,
<a href="https://www.microsoft.com/en-us/research/group/systems-and-networking-research-group-asia/">Microsoft Research (MSR)</a>
had also released few
other open source projects.</p>
<ul id="relatedProject">
<li class="rowHeight">
<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>
<li class="rowHeight">
<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>
<li class="rowHeight">
<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>
<li class="rowHeight">
<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>
<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>
</ul>
<p>We encourage researchers and students leverage these projects to accelerate the AI development and research.</p>
</div>
<!-- License -->
<div>
<h2 class="title">License</h2>
<p>The entire codebase is under <a href="https://github.com/microsoft/nni/blob/master/LICENSE">MIT license</a></p>
</div>
</div>
:orphan:
.. raw:: html
<h2 class="center">nnSpider emoticons</h2>
<ul class="emotion">
<li class="first">
<div>
<a href="{{ pathto('nnSpider/nobug') }}">
<img src="_static/img/NoBug.png" alt="NoBug" />
</a>
</div>
<p class="center">NoBug</p>
</li>
<li class="first">
<div>
<a href="{{ pathto('nnSpider/holiday') }}">
<img src="_static/img/Holiday.png" alt="Holiday" />
</a>
</div>
<p class="center">Holiday</p>
</li>
<li class="first">
<div>
<a href="{{ pathto('nnSpider/errorEmotion') }}">
<img src="_static/img/Error.png" alt="Error" />
</a>
</div>
<p class="center">Error</p>
</li>
<li class="second">
<div>
<a href="{{ pathto('nnSpider/working') }}">
<img class="working" src="_static/img/Working.png" alt="Working" />
</a>
</div>
<p class="center">Working</p>
</li>
<li class="second">
<div>
<a href="{{ pathto('nnSpider/sign') }}">
<img class="sign" src="_static/img/Sign.png" alt="Sign" />
</a>
</div>
<p class="center">Sign</p>
</li>
<li class="second">
<div>
<a href="{{ pathto('nnSpider/crying') }}">
<img class="crying" src="_static/img/Crying.png" alt="Crying" />
</a>
</div>
<p class="center">Crying</p>
</li>
<li class="three">
<div>
<a href="{{ pathto('nnSpider/cut') }}">
<img src="_static/img/Cut.png" alt="Crying" />
</a>
</div>
<p class="center">Cut</p>
</li>
<li class="three">
<div>
<a href="{{ pathto('nnSpider/weaving') }}">
<img class="weaving" src="_static/img/Weaving.png" alt="Weaving" />
</a>
</div>
<p class="center">weaving</p>
</li>
<li class="three">
<div class="comfort">
<a href="{{ pathto('nnSpider/comfort') }}">
<img src="_static/img/Comfort.png" alt="Weaving" />
</a>
</div>
<p class="center">comfort</p>
</li>
<li class="four">
<div>
<a href="{{ pathto('nnSpider/sweat') }}">
<img src="_static/img/Sweat.png" alt="Sweat" />
</a>
</div>
<p class="center">Sweat</p>
</li>
<div class="clear"></div>
</ul>
:orphan:
.. raw:: html
<h2>Comfort</h2>
<div class="details-container">
<img src="../_static/img/Comfort.png" alt="Comfort" />
</div>
:orphan:
.. raw:: html
<h2>Crying</h2>
<div class="details-container">
<img src="../_static/img/Crying.png" alt="Crying" />
</div>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment