Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
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:
...
@@ -73,8 +73,6 @@ tuner:
# config.yml
# config.yml
tuner
:
tuner
:
builtinTunerName
:
Random
builtinTunerName
:
Random
classArgs
:
optimize_mode
:
maximize
```
```
<br
/>
<br
/>
...
@@ -115,10 +113,6 @@ tuner:
...
@@ -115,10 +113,6 @@ tuner:
此算法对计算资源的需求相对较高。 需要非常大的初始种群,以免落入局部最优中。 如果 Trial 时间很短,或者使用了 Assessor,就非常适合此算法。 如果 Trial 代码支持权重迁移,即每次 Trial 会从上一轮继承已经收敛的权重,建议使用此算法。 这会大大提高训练速度。
此算法对计算资源的需求相对较高。 需要非常大的初始种群,以免落入局部最优中。 如果 Trial 时间很短,或者使用了 Assessor,就非常适合此算法。 如果 Trial 代码支持权重迁移,即每次 Trial 会从上一轮继承已经收敛的权重,建议使用此算法。 这会大大提高训练速度。
**参数**
*
**optimize_mode**
(
*maximize 或 minimize,可选,默认值为 maximize*
) - 如果为 'maximize',Tuner 会给出有可能产生较大值的参数组合。 如果为 'minimize',Tuner 会给出有可能产生较小值的参数组合。
**使用样例:**
**使用样例:**
```
yaml
```
yaml
...
@@ -239,7 +233,7 @@ tuner:
...
@@ -239,7 +233,7 @@ tuner:
**参数**
**参数**
*
**optimize_mode**
(
*maximize 或 minimize,可选,默认值为 maximize*
) - 如果为 'maximize',Tuner 会给出有可能产生较大值的参数组合。 如果为 'minimize',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 的比例。
*
**eta**
(
*int, 可选, 默认为 3*
) -
`(eta-1)/eta`
是丢弃 Trial 的比例。
**使用样例:**
**使用样例:**
...
...
docs/zh_CN/Contribution.rst
View file @
9b9c974b
...
@@ -5,4 +5,3 @@
...
@@ -5,4 +5,3 @@
.. toctree::
.. toctree::
设置开发环境<SetupNNIDeveloperEnvironment>
设置开发环境<SetupNNIDeveloperEnvironment>
贡献指南<CONTRIBUTING>
贡献指南<CONTRIBUTING>
如何调试<HowToDebug>
\ No newline at end of file
docs/zh_CN/ExperimentConfig.md
View file @
9b9c974b
...
@@ -157,7 +157,7 @@ machineList:
...
@@ -157,7 +157,7 @@ machineList:
-
说明
-
说明
NNI 会
检查
remote, pai 和 Kubernetes 模式下
管理器以及
trialKeeper 进程的版本。 如果需要禁用版本
检查
,debug 应设置为 true。
NNI 会
校验
remote, pai 和 Kubernetes 模式下
NNIManager 与
trialKeeper 进程的版本。 如果需要禁用版本
校验
,debug 应设置为 true。
-
**maxTrialNum**
-
**maxTrialNum**
...
...
docs/zh_CN/FrameworkControllerMode.md
View file @
9b9c974b
...
@@ -103,3 +103,7 @@ frameworkcontroller 模式中的 Trial 配置使用以下主键:
...
@@ -103,3 +103,7 @@ frameworkcontroller 模式中的 Trial 配置使用以下主键:
## 如何运行示例
## 如何运行示例
准备好配置文件后,通过运行 nnictl 来启动 Experiment。 在 Frameworkcontroller 上开始 Experiment 的方法与 Kubeflow 类似,可参考
[
指南
](
./KubeflowMode.md
)
了解更多信息。
准备好配置文件后,通过运行 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 模式的配置有下列主键:
...
@@ -202,4 +202,8 @@ Kubeflow 模式的配置有下列主键:
当一个 Trial 作业完成后,可以在 NNI 网页的概述页面(如:http://localhost:8080/oview)中查看 Trial 的信息。
当一个 Trial 作业完成后,可以在 NNI 网页的概述页面(如:http://localhost:8080/oview)中查看 Trial 的信息。
## 版本校验
从 0.6 开始,NNI 支持版本校验,详情参考
[
这里
](
PAIMode.md
)
。
如果在使用 Kubeflow 模式时遇到任何问题,请到
[
NNI Github
](
https://github.com/Microsoft/nni
)
中创建问题。
如果在使用 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 支持的命令:
...
@@ -50,7 +50,7 @@ nnictl 支持的命令:
注意:
注意:
调试模式会禁用 Trialkeeper 中的版本
检查
功能。
调试模式会禁用 Trialkeeper 中的版本
校验
功能。
<a
name=
"resume"
></a>
<a
name=
"resume"
></a>
...
@@ -462,7 +462,7 @@ nnictl 支持的命令:
...
@@ -462,7 +462,7 @@ nnictl 支持的命令:
<a
name=
"version"
></a>
<a
name=
"version"
></a>
###
检查
NNI 版本
### NNI 版本
校验
*
**nnictl --version**
*
**nnictl --version**
...
...
docs/zh_CN/PAIMode.md
View file @
9b9c974b
...
@@ -58,7 +58,7 @@ paiConfig:
...
@@ -58,7 +58,7 @@ paiConfig:
*
可选。 指定了 Trial 用于下载数据的 HDFS 数据目录。 格式应为 hdfs://{your HDFS host}:9000/{数据目录}
*
可选。 指定了 Trial 用于下载数据的 HDFS 数据目录。 格式应为 hdfs://{your HDFS host}:9000/{数据目录}
*
outputDir
*
outputDir
*
可选。 指定了 Trial 的 HDFS 输出目录。 Trial 在完成(成功或失败)后,Trial 的 stdout, stderr 会被 NNI 自动复制到此目录中。 格式应为 hdfs://{your HDFS host}:9000/{输出目录}
*
可选。 指定了 Trial 的 HDFS 输出目录。 Trial 在完成(成功或失败)后,Trial 的 stdout, stderr 会被 NNI 自动复制到此目录中。 格式应为 hdfs://{your HDFS host}:9000/{输出目录}
*
virtu
r
lCluster
*
virtu
a
lCluster
*
可选。 设置 OpenPAI 的 virtualCluster,即虚拟集群。 如果未设置此参数,将使用默认的虚拟集群。
*
可选。 设置 OpenPAI 的 virtualCluster,即虚拟集群。 如果未设置此参数,将使用默认的虚拟集群。
*
shmMB
*
shmMB
*
可选。 设置 OpenPAI 的 shmMB,即 Docker 中的共享内存。
*
可选。 设置 OpenPAI 的 shmMB,即 Docker 中的共享内存。
...
@@ -83,3 +83,15 @@ paiConfig:
...
@@ -83,3 +83,15 @@ paiConfig:
如果希望将 Trial 的模型数据等其它输出保存到HDFS中,可在 Trial 代码中使用
`NNI_OUTPUT_DIR`
来自己保存输出文件,NNI SDK会从 Trial 的容器中将
`NNI_OUTPUT_DIR`
中的文件复制到 HDFS 中。
如果希望将 Trial 的模型数据等其它输出保存到HDFS中,可在 Trial 代码中使用
`NNI_OUTPUT_DIR`
来自己保存输出文件,NNI SDK会从 Trial 的容器中将
`NNI_OUTPUT_DIR`
中的文件复制到 HDFS 中。
如果在使用 pai 模式时遇到任何问题,请到
[
NNI Github
](
https://github.com/Microsoft/nni
)
中创建问题。
如果在使用 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
...
@@ -63,3 +63,7 @@ nnictl create --config ~/nni/examples/trials/mnist-annotation/config_remote.yml
```
```
来启动 Experiment。
来启动 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 @@
...
@@ -4,7 +4,7 @@
## 1. 搜索空间
## 1. 搜索空间
对于
阅读理解
项目
,注意力
和循环神经网络(RNN)已经
被证明非常有效
。 使用的
搜索空间如下:
在
阅读理解
领域
,注意力
(Attention)和循环神经网络都已
被证明
是
非常有效
的方法,因此
搜索空间
定义
如下:
1.
IDENTITY (Effectively 表示继续训练)。
1.
IDENTITY (Effectively 表示继续训练)。
2.
INSERT-RNN-LAYER (插入 LSTM。 在 Experiment 中比较了 GRU 和 LSTM 的性能后,我们决定在这里采用 LSTM。)
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)。
...
@@ -130,6 +130,34 @@ Annotation 的语法和用法等,参考 [Annotation](AnnotationSpec.md)。
useAnnotation: true
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>
<a
name=
"more-examples"
></a>
## 更多 Trial 的样例
## 更多 Trial 的样例
...
...
docs/zh_CN/Tutorials.rst
View file @
9b9c974b
...
@@ -13,3 +13,4 @@
...
@@ -13,3 +13,4 @@
训练平台<training_services>
训练平台<training_services>
如何使用 Docker <HowToUseDocker>
如何使用 Docker <HowToUseDocker>
高级功能<advanced>
高级功能<advanced>
如何调试<HowToDebug>
\ No newline at end of file
docs/zh_CN/WebUI.md
View file @
9b9c974b
...
@@ -34,6 +34,16 @@
...
@@ -34,6 +34,16 @@


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

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

## 查看 Trial 状态
## 查看 Trial 状态
点击 "Trials Detail" 标签查看所有 Trial 的状态。 特别是:
点击 "Trials Detail" 标签查看所有 Trial 的状态。 特别是:
...
...
docs/zh_CN/networkmorphismTuner.md
View file @
9b9c974b
...
@@ -52,6 +52,52 @@ net = build_graph_from_json(RCV_CONFIG)
...
@@ -52,6 +52,52 @@ net = build_graph_from_json(RCV_CONFIG)
nni
.
report_final_result
(
best_acc
)
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. 文件结构
## 3. 文件结构
Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文件:
Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文件:
...
@@ -77,7 +123,7 @@ Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文
...
@@ -77,7 +123,7 @@ Tuner 有大量的文件、函数和类。 这里只简单介绍最重要的文
## 4. 网络表示的 JSON 样例
## 4. 网络表示的 JSON 样例
这是
样例
定义的中间表示 JSON
文件,它会
在架构搜索过程中从 Tuner 传到 Trial。 可调用 "json
\_
to
\_
graph()" 函数来将 JSON 文件转化为 Pytoch 或 Keras 模型。 样例如下。
这是定义的中间表示 JSON
样例,
在架构搜索过程中
会
从 Tuner 传到 Trial。 可调用 "json
\_
to
\_
graph()" 函数来将 JSON 文件转化为 Pytoch 或 Keras 模型。 样例如下。
```
json
```
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