@@ -430,7 +429,7 @@ You can use these commands to get more information about the experiment
<div>
<h1class="title">相关项目</h1>
<p>
以探索先进技术和开放为目标,<ahref="https://www.microsoft.com/en-us/research/group/systems-research-group-asia/">Microsoft Research (MSR)</a> 还发布了一些相关的开源项目。</p>
以探索先进技术和开放为目标,<ahref="https://www.microsoft.com/zh-cn/research/group/systems-and-networking-research-group-asia/">Microsoft Research (MSR)</a> 还发布了一些相关的开源项目。</p>
<ulid="relatedProject">
<li>
<ahref="https://github.com/Microsoft/pai">OpenPAI</a>:作为开源平台,提供了完整的 AI 模型训练和资源管理能力,能轻松扩展,并支持各种规模的私有部署、云和混合环境。
...
...
@@ -451,7 +450,7 @@ You can use these commands to get more information about the experiment
<!-- License -->
<div>
<h1class="title">许可协议</h1>
<p>The entire codebase is under<ahref="https://github.com/microsoft/nni/blob/master/LICENSE">MIT license</a></p>
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.