Unverified Commit a45c6671 authored by kvartet's avatar kvartet Committed by GitHub
Browse files

Add release note for v2.1 (#3433)

parent 5afc83ec
......@@ -5,6 +5,71 @@
Change Log
==========
Release 2.1 - 3/10/2021
-----------------------
Major updates
^^^^^^^^^^^^^
Neural architecture search
""""""""""""""""""""""""""
* Improve NAS 2.0 (Retiarii) Framework (Improved Experimental)
* Improve the robustness of graph generation and code generation for PyTorch models (#3365)
* Support the inline mutation API ``ValueChoice`` (#3349 #3382)
* Improve the design and implementation of Model Evaluator (#3359 #3404)
* Support Random/Grid/Evolution exploration strategies (i.e., search algorithms) (#3377)
* Refer to `here <https://github.com/microsoft/nni/issues/3301>`__ for Retiarii Roadmap
Training service
""""""""""""""""
* Support shared storage for reuse mode (#3354)
* Support Windows as the local training service in hybrid mode (#3353)
* Remove PAIYarn training service (#3327)
* Add "recently-idle" scheduling algorithm (#3375)
* Deprecate ``preCommand`` and enable ``pythonPath`` for remote training service (#3284 #3410)
* Refactor reuse mode temp folder (#3374)
nnictl & nni.experiment
"""""""""""""""""""""""
* Migrate ``nnicli`` to new Python API ``nni.experiment`` (#3334)
* Refactor the way of specifying tuner in experiment Python API (\ ``nni.experiment``\ ), more aligned with ``nnictl`` (#3419)
WebUI
"""""
* Support showing the assigned training service of each trial in hybrid mode on WebUI (#3261 #3391)
* Support multiple selection for filter status in experiments management page (#3351)
* Improve overview page (#3316 #3317 #3352)
* Support copy trial id in the table (#3378)
Documentation
^^^^^^^^^^^^^
* Improve model compression examples and documentation (#3326 #3371)
* Add Python API examples and documentation (#3396)
* Add SECURITY doc (#3358)
* Add 'What's NEW!' section in README (#3395)
* Update English contributing doc (#3398, thanks external contributor @Yongxuanzhang)
Bug fixes
^^^^^^^^^
* Fix AML outputs path and python process not killed (#3321)
* Fix bug that an experiment launched from Python cannot be resumed by nnictl (#3309)
* Fix import path of network morphism example (#3333)
* Fix bug in the tuple unpack (#3340)
* Fix bug of security for arbitrary code execution (#3311, thanks external contributor @huntr-helper)
* Fix ``NoneType`` error on jupyter notebook (#3337, thanks external contributor @tczhangzhi)
* Fix bugs in Retiarii (#3339 #3341 #3357, thanks external contributor @tczhangzhi)
* Fix bug in AdaptDL mode example (#3381, thanks external contributor @ZeyaWang)
* Fix the spelling mistake of assessor (#3416, thanks external contributor @ByronCHAO)
* Fix bug in ruamel import (#3430, thanks external contributor @rushtehrani)
Release 2.0 - 1/14/2021
-----------------------
......
......@@ -51,4 +51,4 @@ hybridConfig:
* trainingServicePlatforms. required key. This field specify the platforms used in hybrid mode, the values using yaml list format. NNI support setting ``local``, ``remote``, ``aml``, ``pai`` in this field.
.. Note:: If setting a platform in trainingServicePlatforms mode, users should also set the corresponding configuration for the platform. For example, if set ``remote`` as one of the platform, should also set ``machineList`` and ``remoteConfig`` configuration. Local platform in hybrid mode does not support windows for now.
.. Note:: If setting a platform in trainingServicePlatforms mode, users should also set the corresponding configuration for the platform. For example, if set ``remote`` as one of the platform, should also set ``machineList`` and ``remoteConfig`` configuration.
\ No newline at end of file
# PyTorch Graph Converter
## Namespace for PyTorch Graph
We should have a concrete rule for specifying nodes in graph with namespace.
Each node has a name, either specified or generated. The nodes in the same hierarchy cannot have the same name.
* The name of module node natively follows this rule, because we use variable name for instantiated modules like what PyTorch graph does.
* For the nodes created in `forward` function, we use a global sequence number.
### Namespace for mutated (new) nodes
TBD
## Graph Simplification
TBD
## Node Types
We define concrete type string for each node type.
## Module's Input Arguments
We use wrapper to obtain the input arguments of modules. Users need to use our wrapped "nn" and wrapped "Module".
## Control Flow
### for loop
Currently, we only support `ModuleList` (`ModuleDict`) based for loop, which is automatically unfolded by TorchScript. That is to say, we do not support loop in TorchScript for now.
### if/else
For now, we only deal with the case that the condition is constant or attribute. In this case, only one branch is kept during generating the graph.
\ No newline at end of file
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