Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
9b9c974b
Unverified
Commit
9b9c974b
authored
Apr 10, 2019
by
Chi Song
Committed by
GitHub
Apr 10, 2019
Browse files
Chinese translation (#955)
parent
07655bf4
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
121 additions
and
19 deletions
+121
-19
docs/zh_CN/Builtin_Tuner.md
docs/zh_CN/Builtin_Tuner.md
+1
-7
docs/zh_CN/Contribution.rst
docs/zh_CN/Contribution.rst
+1
-2
docs/zh_CN/ExperimentConfig.md
docs/zh_CN/ExperimentConfig.md
+1
-1
docs/zh_CN/FrameworkControllerMode.md
docs/zh_CN/FrameworkControllerMode.md
+5
-1
docs/zh_CN/KubeflowMode.md
docs/zh_CN/KubeflowMode.md
+4
-0
docs/zh_CN/NNICTLDOC.md
docs/zh_CN/NNICTLDOC.md
+2
-2
docs/zh_CN/PAIMode.md
docs/zh_CN/PAIMode.md
+14
-2
docs/zh_CN/RemoteMachineMode.md
docs/zh_CN/RemoteMachineMode.md
+5
-1
docs/zh_CN/SQuAD_evolution_examples.md
docs/zh_CN/SQuAD_evolution_examples.md
+1
-1
docs/zh_CN/Trials.md
docs/zh_CN/Trials.md
+28
-0
docs/zh_CN/Tutorials.rst
docs/zh_CN/Tutorials.rst
+2
-1
docs/zh_CN/WebUI.md
docs/zh_CN/WebUI.md
+10
-0
docs/zh_CN/networkmorphismTuner.md
docs/zh_CN/networkmorphismTuner.md
+47
-1
No files found.
docs/zh_CN/Builtin_Tuner.md
View file @
9b9c974b
...
...
@@ -73,8 +73,6 @@ tuner:
# config.yml
tuner
:
builtinTunerName
:
Random
classArgs
:
optimize_mode
:
maximize
```
<br
/>
...
...
@@ -115,10 +113,6 @@ tuner:
此算法对计算资源的需求相对较高。 需要非常大的初始种群,以免落入局部最优中。 如果 Trial 时间很短,或者使用了 Assessor,就非常适合此算法。 如果 Trial 代码支持权重迁移,即每次 Trial 会从上一轮继承已经收敛的权重,建议使用此算法。 这会大大提高训练速度。
**参数**
*
**optimize_mode**
(
*maximize 或 minimize,可选,默认值为 maximize*
) - 如果为 'maximize',Tuner 会给出有可能产生较大值的参数组合。 如果为 'minimize',Tuner 会给出有可能产生较小值的参数组合。
**使用样例:**
```
yaml
...
...
@@ -239,7 +233,7 @@ tuner:
**参数**
*
**optimize_mode**
(
*maximize 或 minimize,可选,默认值为 maximize*
) - 如果为 'maximize',Tuner 会给出有可能产生较大值的参数组合。 如果为 'minimize',Tuner 会给出有可能产生较小值的参数组合。
*
**R**
(
*int, 可选, 默认为 60*
) - 能分配给 Trial 的最大 STEPS (可以是 mini-batches 或 epochs 的数值)。 Trial 需要用 STEPS 来控制运行时间。
*
**R**
(
*int, 可选, 默认为 60*
) - 能分配给 Trial 的最大 STEPS (可以是 mini-batches 或 epochs 的数值)。
每个
Trial
都
需要用 STEPS 来控制运行
的
时间。
*
**eta**
(
*int, 可选, 默认为 3*
) -
`(eta-1)/eta`
是丢弃 Trial 的比例。
**使用样例:**
...
...
docs/zh_CN/Contribution.rst
View file @
9b9c974b
...
...
@@ -5,4 +5,3 @@
.. toctree::
设置开发环境<SetupNNIDeveloperEnvironment>
贡献指南<CONTRIBUTING>
\ No newline at end of file
如何调试<HowToDebug>
\ No newline at end of file
docs/zh_CN/ExperimentConfig.md
View file @
9b9c974b
...
...
@@ -157,7 +157,7 @@ machineList:
-
说明
NNI 会
检查
remote, pai 和 Kubernetes 模式下
管理器以及
trialKeeper 进程的版本。 如果需要禁用版本
检查
,debug 应设置为 true。
NNI 会
校验
remote, pai 和 Kubernetes 模式下
NNIManager 与
trialKeeper 进程的版本。 如果需要禁用版本
校验
,debug 应设置为 true。
-
**maxTrialNum**
...
...
docs/zh_CN/FrameworkControllerMode.md
View file @
9b9c974b
...
...
@@ -103,3 +103,7 @@ frameworkcontroller 模式中的 Trial 配置使用以下主键:
## 如何运行示例
准备好配置文件后,通过运行 nnictl 来启动 Experiment。 在 Frameworkcontroller 上开始 Experiment 的方法与 Kubeflow 类似,可参考
[
指南
](
./KubeflowMode.md
)
了解更多信息。
## 版本校验
从 0.6 开始,NNI 支持查看版本,详情参考
[
这里
](
PAIMode.md
)
。
\ No newline at end of file
docs/zh_CN/KubeflowMode.md
View file @
9b9c974b
...
...
@@ -202,4 +202,8 @@ Kubeflow 模式的配置有下列主键:
当一个 Trial 作业完成后,可以在 NNI 网页的概述页面(如:http://localhost:8080/oview)中查看 Trial 的信息。
## 版本校验
从 0.6 开始,NNI 支持版本校验,详情参考
[
这里
](
PAIMode.md
)
。
如果在使用 Kubeflow 模式时遇到任何问题,请到
[
NNI Github
](
https://github.com/Microsoft/nni
)
中创建问题。
\ No newline at end of file
docs/zh_CN/NNICTLDOC.md
View file @
9b9c974b
...
...
@@ -50,7 +50,7 @@ nnictl 支持的命令:
注意:
调试模式会禁用 Trialkeeper 中的版本
检查
功能。
调试模式会禁用 Trialkeeper 中的版本
校验
功能。
<a
name=
"resume"
></a>
...
...
@@ -462,7 +462,7 @@ nnictl 支持的命令:
<a
name=
"version"
></a>
###
检查
NNI 版本
### NNI 版本
校验
*
**nnictl --version**
...
...
docs/zh_CN/PAIMode.md
View file @
9b9c974b
...
...
@@ -58,7 +58,7 @@ paiConfig:
*
可选。 指定了 Trial 用于下载数据的 HDFS 数据目录。 格式应为 hdfs://{your HDFS host}:9000/{数据目录}
*
outputDir
*
可选。 指定了 Trial 的 HDFS 输出目录。 Trial 在完成(成功或失败)后,Trial 的 stdout, stderr 会被 NNI 自动复制到此目录中。 格式应为 hdfs://{your HDFS host}:9000/{输出目录}
*
virtu
r
lCluster
*
virtu
a
lCluster
*
可选。 设置 OpenPAI 的 virtualCluster,即虚拟集群。 如果未设置此参数,将使用默认的虚拟集群。
*
shmMB
*
可选。 设置 OpenPAI 的 shmMB,即 Docker 中的共享内存。
...
...
@@ -83,3 +83,15 @@ paiConfig:
如果希望将 Trial 的模型数据等其它输出保存到HDFS中,可在 Trial 代码中使用
`NNI_OUTPUT_DIR`
来自己保存输出文件,NNI SDK会从 Trial 的容器中将
`NNI_OUTPUT_DIR`
中的文件复制到 HDFS 中。
如果在使用 pai 模式时遇到任何问题,请到
[
NNI Github
](
https://github.com/Microsoft/nni
)
中创建问题。
## 版本校验
从 0.6 开始,NNI 支持版本校验。确保 NNIManager 与 trialKeeper 的版本一致,避免兼容性错误。
检查策略:
1.
0.6 以前的 NNIManager 可与任何版本的 trialKeeper 一起运行,trialKeeper 支持向后兼容。
2.
从 NNIManager 0.6 开始,与 triakKeeper 的版本必须一致。 例如,如果 NNIManager 是 0.6 版,则 trialKeeper 也必须是 0.6 版。
3.
注意,只有版本的前两位数字才会被检查。例如,NNIManager 0.6.1 可以和 trialKeeper 的 0.6 或 0.6.2 一起使用,但不能与 trialKeeper 的 0.5.1 或 0.7 版本一起使用。
如果 Experiment 无法运行,而且不能确认是否是因为版本不匹配造成的,可以在 Web 界面检查是否有相关的错误消息。

\ No newline at end of file
docs/zh_CN/RemoteMachineMode.md
View file @
9b9c974b
...
...
@@ -63,3 +63,7 @@ nnictl create --config ~/nni/examples/trials/mnist-annotation/config_remote.yml
```
来启动 Experiment。
## 版本校验
从 0.6 开始,NNI 支持版本校验,详情参考
[
这里
](
PAIMode.md
)
。
\ No newline at end of file
docs/zh_CN/SQuAD_evolution_examples.md
View file @
9b9c974b
...
...
@@ -4,7 +4,7 @@
## 1. 搜索空间
对于
阅读理解
项目
,注意力
和循环神经网络(RNN)已经
被证明非常有效
。 使用的
搜索空间如下:
在
阅读理解
领域
,注意力
(Attention)和循环神经网络都已
被证明
是
非常有效
的方法,因此
搜索空间
定义
如下:
1.
IDENTITY (Effectively 表示继续训练)。
2.
INSERT-RNN-LAYER (插入 LSTM。 在 Experiment 中比较了 GRU 和 LSTM 的性能后,我们决定在这里采用 LSTM。)
...
...
docs/zh_CN/Trials.md
View file @
9b9c974b
...
...
@@ -130,6 +130,34 @@ Annotation 的语法和用法等,参考 [Annotation](AnnotationSpec.md)。
useAnnotation: true
## Trial 存放在什么地方?
### 本机模式
每个 Trial 都有单独的目录来输出自己的数据。 在每次 Trial 运行后,环境变量
`NNI_OUTPUT_DIR`
定义的目录都会被导出。 在这个目录中可以看到 Trial 的代码、数据和日志。 此外,Trial 的日志(包括 stdout)还会被重定向到此目录中的
`trial.log`
文件。
如果使用了 Annotation 方法,转换后的 Trial 代码会存放在另一个临时目录中。 可以在
`run.sh`
文件中的
`NNI_OUTPUT_DIR`
变量找到此目录。 文件中的第二行(即:
`cd`
)会切换到代码所在的实际路径。 参考
`run.sh`
文件样例:
```
shell
#!/bin/bash
cd
/tmp/user_name/nni/annotation/tmpzj0h72x6
#This is the actual directory
export
NNI_PLATFORM
=
local
export
NNI_SYS_DIR
=
/home/user_name/nni/experiments/
$experiment_id$/
trials/
$trial_id
$
export
NNI_TRIAL_JOB_ID
=
nrbb2
export
NNI_OUTPUT_DIR
=
/home/user_name/nni/experiments/
$eperiment_id$/
trials/
$trial_id
$
export
NNI_TRIAL_SEQ_ID
=
1
export
MULTI_PHASE
=
false
export
CUDA_VISIBLE_DEVICES
=
eval
python3 mnist.py 2>/home/user_name/nni/experiments/
$experiment_id$/
trials/
$trial_id$/
stderr
echo
$?
`
date
+%s000
`
>
/home/user_name/nni/experiments/
$experiment_id$/
trials/
$trial_id$/
.nni/state
```
### 其它模式
当 Trial 运行在 OpenPAI 这样的远程服务器上时,
`NNI_OUTPUT_DIR`
仅会指向 Trial 的输出目录,而
`run.sh`
不会在此目录中。
`trial.log`
文件会被复制回本机的 Trial 目录中。目录的默认位置在
`~/nni/experiments/$experiment_id$/trials/$trial_id$/`
。
详细信息,可参考
[
调试指南
](
HowToDebug.md
)
。
<a
name=
"more-examples"
></a>
## 更多 Trial 的样例
...
...
docs/zh_CN/Tutorials.rst
View file @
9b9c974b
...
...
@@ -13,3 +13,4 @@
训练平台<training_services>
如何使用 Docker <HowToUseDocker>
高级功能<advanced>
如何调试<HowToDebug>
\ No newline at end of file
docs/zh_CN/WebUI.md
View file @
9b9c974b
...
...
@@ -34,6 +34,16 @@

## 查看 Trial 中间结果
单击 "Intermediate Result" 标签查看折线图。

该图有筛选功能。 点击筛选按钮, 在第一个输入框中输入关注点的序号, 在第二个输入框中输入中间结果的范围,选出需要的数据。

## 查看 Trial 状态
点击 "Trials Detail" 标签查看所有 Trial 的状态。 特别是:
...
...
docs/zh_CN/networkmorphismTuner.md
View file @
9b9c974b
...
...
@@ -52,6 +52,52 @@ net = build_graph_from_json(RCV_CONFIG)
nni
.
report_final_result
(
best_acc
)
```
如果需要保存并
**读取最佳模型**
,推荐采用以下方法。
```
python
# 1. 使用 NNI API
## 从 Web 界面获取最佳模型的 ID
## 或查看 `nni/experiments/experiment_id/log/model_path/best_model.txt' 文件
## 从 JSON 文件中读取,并使用 NNI API 来加载
with
open
(
"best-model.json"
)
as
json_file
:
json_of_model
=
json_file
.
read
()
model
=
build_graph_from_json
(
json_of_model
)
# 2. 使用框架的 API (与具体框架相关)
## 2.1 Keras API
## 在 Trial 代码中使用 Keras API 保存
## 最好保存 NNI 的 ID
model_id
=
nni
.
get_sequence_id
()
## 将模型序列化为 JSON
model_json
=
model
.
to_json
()
with
open
(
"model-{}.json"
.
format
(
model_id
),
"w"
)
as
json_file
:
json_file
.
write
(
model_json
)
## 将权重序列化至 HDF5
model
.
save_weights
(
"model-{}.h5"
.
format
(
model_id
))
## 重用模型时,使用 Keras API 读取
## 读取 JSON 文件,并创建模型
model_id
=
""
# 需要重用的模型 ID
with
open
(
'model-{}.json'
.
format
(
model_id
),
'r'
)
as
json_file
:
loaded_model_json
=
json_file
.
read
()
loaded_model
=
model_from_json
(
loaded_model_json
)
## 将权重加载到新模型中
loaded_model
.
load_weights
(
"model-{}.h5"
.
format
(
model_id
))
## 2.2 PyTorch API
## 在 Trial 代码中使用 PyTorch API 保存
model_id
=
nni
.
get_sequence_id
()
torch
.
save
(
model
,
"model-{}.pt"
.
format
(
model_id
))
## 重用模型时,使用 PyTorch API 读取
model_id
=
""
# 需要重用的模型 ID
loaded_model
=
torch
.
load
(
"model-{}.pt"
.
format
(
model_id
))
```
## 3. 文件结构
Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文件:
...
...
@@ -77,7 +123,7 @@ Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文
## 4. 网络表示的 JSON 样例
这是
样例
定义的中间表示 JSON
文件,它会
在架构搜索过程中从 Tuner 传到 Trial。 可调用 "json
\_
to
\_
graph()" 函数来将 JSON 文件转化为 Pytoch 或 Keras 模型。 样例如下。
这是定义的中间表示 JSON
样例,
在架构搜索过程中
会
从 Tuner 传到 Trial。 可调用 "json
\_
to
\_
graph()" 函数来将 JSON 文件转化为 Pytoch 或 Keras 模型。 样例如下。
```
json
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment