Skip to content
This repository has been archived by the owner on Sep 18, 2024. It is now read-only.

update readme #3827

Merged
merged 27 commits into from
Jun 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3b00b5d
update doc
QuanluZhang Jun 8, 2021
68b1e42
update nas doc
QuanluZhang Jun 9, 2021
ca19d3c
Update Overview.rst
scarlett2018 Jun 10, 2021
ef25449
Update Overview.rst
scarlett2018 Jun 10, 2021
710cf4b
Update Overview.rst
scarlett2018 Jun 10, 2021
61a6da7
improve nas doc
QuanluZhang Jun 10, 2021
5630ebc
Merge branch 'dev-retiarii-doc' of github.com:QuanluZhang/nni into de…
QuanluZhang Jun 10, 2021
6590902
update doc accoring to comments, make pure-python engine as default
QuanluZhang Jun 10, 2021
e087a5c
add fbnet back
QuanluZhang Jun 10, 2021
9463fa3
minor
QuanluZhang Jun 10, 2021
30cdbe9
Update contents.rst
QuanluZhang Jun 10, 2021
8043d0c
Update ExecutionEngines.rst
scarlett2018 Jun 11, 2021
4aade27
Update ModelEvaluators.rst
scarlett2018 Jun 11, 2021
f2385e0
change 'dict' as default export format
QuanluZhang Jun 11, 2021
a90560f
Update the docstring in lightning.py
kvartet Jun 11, 2021
d345371
resolve comments
QuanluZhang Jun 11, 2021
9efe693
Merge branch 'dev-retiarii-doc' of github.com:QuanluZhang/nni into de…
QuanluZhang Jun 11, 2021
8bf2d5a
fix lint
QuanluZhang Jun 11, 2021
6d9e81c
resolve comments
QuanluZhang Jun 13, 2021
c00d462
Merge branch 'master' of https://github.com/microsoft/nni into dev-re…
QuanluZhang Jun 15, 2021
e8c2ea8
update readme
QuanluZhang Jun 15, 2021
a6a6537
minor
QuanluZhang Jun 15, 2021
2d9a134
update
kvartet Jun 15, 2021
14de406
resolve comments
QuanluZhang Jun 15, 2021
f045f0d
Merge branch 'v2.3' of https://github.com/microsoft/nni into dev-reti…
QuanluZhang Jun 15, 2021
99620d3
Merge branch 'dev-retiarii-doc' of github.com:QuanluZhang/nni into de…
QuanluZhang Jun 15, 2021
3f2fbeb
update template index accordingly
QuanluZhang Jun 15, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 14 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,25 +123,19 @@ Within the following table, we summarized the current NNI capabilities, we are g
<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>
<li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#DNGOTuner">DNGO Tuner</a></li>
</ul>
<b>RL Based</b>
<ul>
<li><a href="https://nni.readthedocs.io/en/stable/Tuner/BuiltinTuner.html#PPOTuner">PPO Tuner</a> </li>
</ul>
</ul>
<a href="https://nni.readthedocs.io/en/stable/NAS/Overview.html">Neural Architecture Search</a>
<a href="https://nni.readthedocs.io/en/stable/NAS/Overview.html">Neural Architecture Search (Retiarii)</a>
<ul>
<ul>
<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/PDARTS.html">P-DARTS</a></li>
<li><a href="https://nni.readthedocs.io/en/stable/NAS/CDARTS.html">CDARTS</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/Tuner/BuiltinTuner.html#NetworkMorphism">Network Morphism</a></li>
<li><a href="https://nni.readthedocs.io/en/stable/NAS/TextNAS.html">TextNAS</a></li>
<li><a href="https://nni.readthedocs.io/en/stable/NAS/Cream.html">Cream</a></li>
</ul>
<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>
</ul>
<a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">Model Compression</a>
<ul>
Expand All @@ -154,11 +148,13 @@ Within the following table, we summarized the current NNI capabilities, we are g
<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>
<li><a href="https://nni.readthedocs.io/en/stable/Compression/Overview.html">More...</a></li>
</ul>
<b>Quantization</b>
<ul>
<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>
<li><a href="https://nni.readthedocs.io/en/stable/Compression/Quantizer.html#bnn-quantizer">BNN Quantizer</a></li>
</ul>
</ul>
<a href="https://nni.readthedocs.io/en/stable/FeatureEngineering/Overview.html">Feature Engineering (Beta)</a>
Expand Down Expand Up @@ -208,6 +204,8 @@ Within the following table, we summarized the current NNI capabilities, we are g
<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>
<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>
</ul>
</td>
<td style="border-top:#FF0000 solid 0px;">
Expand Down
43 changes: 2 additions & 41 deletions docs/en_US/Tuner/BuiltinTuner.rst
Original file line number Diff line number Diff line change
Expand Up @@ -497,47 +497,6 @@ As a strategy in a Sequential Model-based Global Optimization (SMBO) algorithm,
selection_num_warm_up: 100000
selection_num_starting_points: 250

:raw-html:`<a name="PPOTuner"></a>`

PPO Tuner
^^^^^^^^^

..

Built-in Tuner Name: **PPOTuner**


Note that the only acceptable types within the search space are ``layer_choice`` and ``input_choice``. For ``input_choice``\ , ``n_chosen`` can only be 0, 1, or [0, 1]. Note, the search space file for NAS is usually automatically generated through the command `nnictl ss_gen <../Tutorial/Nnictl.rst>`__.

**Suggested scenario**

PPOTuner is a Reinforcement Learning tuner based on the PPO algorithm. PPOTuner can be used when using the NNI NAS interface to do neural architecture search. In general, the Reinforcement Learning algorithm needs more computing resources, though the PPO algorithm is relatively more efficient than others. It's recommended to use this tuner when you have a large amount of computional resources available. You could try it on a very simple task, such as the :githublink:`mnist-nas <examples/nas/legacy/classic_nas>` example. `See details <./PPOTuner.rst>`__

**classArgs Requirements:**


* **optimize_mode** (*'maximize' or 'minimize'*\ ) - If 'maximize', the tuner will try to maximize metrics. If 'minimize', the tuner will try to minimize metrics.
* **trials_per_update** (*int, optional, default = 20*\ ) - The number of trials to be used for one update. It must be divisible by minibatch_size. ``trials_per_update`` is recommended to be an exact multiple of ``trialConcurrency`` for better concurrency of trials.
* **epochs_per_update** (*int, optional, default = 4*\ ) - The number of epochs for one update.
* **minibatch_size** (*int, optional, default = 4*\ ) - Mini-batch size (i.e., number of trials for a mini-batch) for the update. Note that trials_per_update must be divisible by minibatch_size.
* **ent_coef** (*float, optional, default = 0.0*\ ) - Policy entropy coefficient in the optimization objective.
* **lr** (*float, optional, default = 3e-4*\ ) - Learning rate of the model (lstm network); constant.
* **vf_coef** (*float, optional, default = 0.5*\ ) - Value function loss coefficient in the optimization objective.
* **max_grad_norm** (*float, optional, default = 0.5*\ ) - Gradient norm clipping coefficient.
* **gamma** (*float, optional, default = 0.99*\ ) - Discounting factor.
* **lam** (*float, optional, default = 0.95*\ ) - Advantage estimation discounting factor (lambda in the paper).
* **cliprange** (*float, optional, default = 0.2*\ ) - Cliprange in the PPO algorithm, constant.

**Example Configuration:**

.. code-block:: yaml

# config.yml
tuner:
builtinTunerName: PPOTuner
classArgs:
optimize_mode: maximize

:raw-html:`<a name="PBTTuner"></a>`

PBT Tuner
Expand Down Expand Up @@ -573,6 +532,8 @@ Population Based Training (PBT) bridges and extends parallel search methods and

Note that, to use this tuner, your trial code should be modified accordingly, please refer to `the document of PBTTuner <./PBTTuner.rst>`__ for details.

:raw-html:`<a name="DNGOTuner"></a>`

DNGO Tuner
^^^^^^^^^^

Expand Down
Loading