Unverified Commit fbf4668b authored by Chi Song's avatar Chi Song Committed by GitHub
Browse files

update Chinese file path as en_US (#764)

parent 7242098e
......@@ -26,7 +26,7 @@ NNI 支持在 [Kubeflow](https://github.com/kubeflow/kubeflow)上运行,称为
## 设计
![](./img/kubeflow_training_design.png) Kubeflow 训练服务会实例化一个 kubernetes 客户端来与 Kubernetes 集群的 API 服务器交互。
![](../img/kubeflow_training_design.png) Kubeflow 训练服务会实例化一个 kubernetes 客户端来与 Kubernetes 集群的 API 服务器交互。
对于每个 Trial,会上传本机 codeDir 路径(在 nni_config.yml 中配置)中的所有文件,包括 parameter.cfg 这样的生成的文件到存储卷中。 当前支持两种存储卷:[nfs](https://en.wikipedia.org/wiki/Network_File_System)[Azure 文件存储](https://azure.microsoft.com/en-us/services/storage/files/),需要在 NNI 的 YAML 文件中进行配置。 当文件准备好后,Kubeflow 训练服务会调用 Kubernetes 的 API 来创建 Kubeflow 作业 ([tf-operator](https://github.com/kubeflow/tf-operator) 作业或 [pytorch-operator](https://github.com/kubeflow/pytorch-operator) 作业) ,并将存储卷挂载到作业的 pod 中。 Kubeflow 作业的输出文件,例如 stdout, stderr, trial.log 以及模型文件,也会被复制回存储卷。 NNI 会在网页中显示每个 Trial 的存储卷的 URL,以便浏览日志和输出文件。
......@@ -185,7 +185,7 @@ Kubeflow 模式的配置有下列主键:
* gpuNum
* image
* 必填。 在 kubeflow 模式中,Kubernetes 会安排 Trial 程序在 [Pod](https://kubernetes.io/docs/concepts/workloads/pods/pod/) 中执行。 此键用来指定 Trial 程序的 pod 使用的 Docker 映像。
* [Docker Hub](https://hub.docker.com/) 上有预制的 NNI Docker 映像 [msranni/nni](https://hub.docker.com/r/msranni/nni/)。 它包含了用来启动 NNI Experiment 所依赖的所有 Python 包,Node 模块和 JavaScript。 生成此 Docker 映像的文件在[这里](https://github.com/Microsoft/nni/tree/master/deployment/Dockerfile.build.base)。 可以直接使用此映像,或参考它来生成自己的映像。
* [Docker Hub](https://hub.docker.com/) 上有预制的 NNI Docker 映像 [msranni/nni](https://hub.docker.com/r/msranni/nni/)。 它包含了用来启动 NNI Experiment 所依赖的所有 Python 包,Node 模块和 JavaScript。 生成此 Docker 映像的文件在[这里](https://github.com/Microsoft/nni/tree/master/deployment/docker/Dockerfile)。 可以直接使用此映像,或参考它来生成自己的映像。
* apiVersion
* 必填。 Kubeflow 的 API 版本。
* ps (可选)。 此部分用于配置 TensorFlow 的 parameter 服务器角色。
......
......@@ -14,7 +14,7 @@ nnictl 支持的命令:
* [nnictl update](#update)
* [nnictl trial](#trial)
* [nnictl top](#top)
* [nnictl experiment show](#experiment)
* [nnictl experiment](#experiment)
* [nnictl config](#config)
* [nnictl log](#log)
* [nnictl webui](#webui)
......@@ -88,7 +88,7 @@ nnictl 支持的命令:
2. 如果没有指定 id,并且当前有运行的 Experiment,则会停止该 Experiment,否则会输出错误信息。
3. 如果 id 以 * 结尾,nnictl 会停止所有匹配此通配符的 Experiment。
4. 如果 id 不存在,但匹配了某个Experiment 的 id 前缀,nnictl 会停止匹配的Experiment 。
5. 如果 id 不存在,但匹配多个 Experiment id 的前缀,nnictl 会输出这些 id 的信息。
5. 如果 id 不存在,但匹配多个 Experiment id 的前缀,nnictl 会输出这些 id 的信息。
6. 可使用 'nnictl stop all' 来停止所有的 Experiment。
<a name="update"></a>
......@@ -415,8 +415,8 @@ nnictl 支持的命令:
* 选项
| 参数及缩写 | 是否必需 | 默认值 | 说明 |
| ----- | ----- | --- | ----------- |
| id | False | | 需要设置的实验的 id |
| ----- | ----- | --- | --------------------- |
| id | False | | 需要设置的 Experiment 的 id |
<a name="package"></a>
......
......@@ -53,7 +53,7 @@ paiConfig:
* 必填。 Trial 程序的内存需求,必须为正数。
* image
* 必填。 在 pai 模式中,Trial 程序由 OpenPAI 在 [Docker 容器](https://www.docker.com/)中安排运行。 此键用来指定 Trial 程序的容器使用的 Docker 映像。
* [Docker Hub](https://hub.docker.com/) 上有预制的 NNI Docker 映像 [nnimsra/nni](https://hub.docker.com/r/msranni/nni/)。 它包含了用来启动 NNI Experiment 所依赖的所有 Python 包,Node 模块和 JavaScript。 生成此 Docker 映像的文件在[这里](https://github.com/Microsoft/nni/tree/master/deployment/Dockerfile.build.base)。 可以直接使用此映像,或参考它来生成自己的映像。
* [Docker Hub](https://hub.docker.com/) 上有预制的 NNI Docker 映像 [nnimsra/nni](https://hub.docker.com/r/msranni/nni/)。 它包含了用来启动 NNI Experiment 所依赖的所有 Python 包,Node 模块和 JavaScript。 生成此 Docker 映像的文件在[这里](https://github.com/Microsoft/nni/tree/master/deployment/docker/Dockerfile)。 可以直接使用此映像,或参考它来生成自己的映像。
* dataDir
* 可选。 指定了 Trial 用于下载数据的 HDFS 数据目录。 格式应为 hdfs://{your HDFS host}:9000/{数据目录}
* outputDir
......@@ -64,15 +64,15 @@ paiConfig:
nnictl create --config exp_pai.yml
来在 pai 模式下启动 Experiment。 NNI 会为每个 Trial 创建 OpenPAI 作业,作业名称的格式为 `nni_exp_{experiment_id}_trial_{trial_id}`。 可以在 OpenPAI 集群的网站中看到 NNI 创建的作业,例如: ![](./img/nni_pai_joblist.jpg)
来在 pai 模式下启动 Experiment。 NNI 会为每个 Trial 创建 OpenPAI 作业,作业名称的格式为 `nni_exp_{experiment_id}_trial_{trial_id}`。 可以在 OpenPAI 集群的网站中看到 NNI 创建的作业,例如: ![](../img/nni_pai_joblist.jpg)
注意:pai 模式下,NNIManager 会启动 RESTful 服务,监听端口为 NNI 网页服务器的端口加1。 例如,如果网页端口为`8080`,那么 RESTful 服务器会监听在 `8081`端口,来接收运行在 Kubernetes 中的 Trial 作业的指标。 因此,需要在防火墙中启用端口 `8081` 的 TCP 协议,以允许传入流量。
当一个 Trial 作业完成后,可以在 NNI 网页的概述页面(如:http://localhost:8080/oview)中查看 Trial 的信息。
在 Trial 列表页面中展开 Trial 信息,点击如下的 logPath: ![](./img/nni_webui_joblist.jpg)
在 Trial 列表页面中展开 Trial 信息,点击如下的 logPath: ![](../img/nni_webui_joblist.jpg)
接着将会打开 HDFS 的 WEB 界面,并浏览到 Trial 的输出文件: ![](./img/nni_trial_hdfs_output.jpg)
接着将会打开 HDFS 的 WEB 界面,并浏览到 Trial 的输出文件: ![](../img/nni_trial_hdfs_output.jpg)
在输出目录中可以看到三个文件:stderr, stdout, 以及 trial.log
......
......@@ -183,28 +183,28 @@ trial:
Experiment 相关信息会显示在界面上,配置和搜索空间等。 可通过 **Download** 按钮来`下载信息和参数`。 可以在运行中或结束后,随时下载 Experiment 的结果。
![](./img/QuickStart1.png)
![](../img/QuickStart1.png)
前 10 个 Trial 结果也会列在 Overview 页面中,可以在 "Trials Detail" 部分浏览所有的 Trial。
![](./img/QuickStart2.png)
![](../img/QuickStart2.png)
#### 查看 Trial 详情页面
点击 "Default Metric" 来查看所有 Trial 的点图。 悬停鼠标来查看默认指标和搜索空间信息。
![](./img/QuickStart3.png)
![](../img/QuickStart3.png)
点击 "Hyper Parameter" 标签查看图像。
* 可选择百分比查看最好的 Trial。
* 选择两个轴来交换位置。
![](./img/QuickStart4.png)
![](../img/QuickStart4.png)
点击 "Trial Duration" 标签来查看柱状图。
![](./img/QuickStart5.png)
![](../img/QuickStart5.png)
下面是所有 Trial 的状态。 包括:
......@@ -213,11 +213,11 @@ Experiment 相关信息会显示在界面上,配置和搜索空间等。 可
* Kill: 可终止正在运行的任务。
* 支持搜索某个特定的 Trial。
![](./img/QuickStart6.png)
![](../img/QuickStart6.png)
* 中间结果图
![](./img/QuickStart7.png)
![](../img/QuickStart7.png)
## 相关主题
......
......@@ -117,7 +117,7 @@
nnictl create --port 8081 --config <config file path>
```
* 支持更新最大 Trial 的数量。 使用 `nnictl update --help` 了解详情。 或参考 [NNICTL 说明](NNICTLDOC.md)查看完整帮助。
* 支持更新最大 Trial 的数量。 使用 `nnictl update --help` 了解详情。 或参考 [NNICTL](NNICTLDOC.md) 查看完整帮助。
### API 的新功能和更新
......@@ -137,7 +137,7 @@
* float
* 包含有 'default' 键值的 dict,'default' 的值必须为 int 或 float。 dict 可以包含任何其它键值对。
### 支持新的 Tuner
### 新的内置 Tuner
* **Batch Tuner(批处理调参器)** 会执行所有超参组合,可被用来批量提交 Trial 任务。
......
......@@ -5,6 +5,7 @@
:maxdepth: 3
命令行<NNICTLDOC>
Python API<sdk_reference>
Annotation<AnnotationSpec>
配置<ExperimentConfig>
搜索空间<SearchSpaceSpec>
\ No newline at end of file
......@@ -14,7 +14,7 @@
6. ADD-SKIP (在随机层之间一致).
7. REMOVE-SKIP (移除随机跳过).
![](https://github.com/Microsoft/nni/tree/master/examples/trials/ga_squad/ga_squad.png)
![](../../examples/trials/ga_squad/ga_squad.png)
### 新版本
......@@ -130,7 +130,7 @@ paiConfig:
将默认值改为个人账户和服务器信息。 包括 `nniManagerIp`, `dataDir`, `outputDir`, `userName`, `passWord``host`
在 "trial" 部分中,如果需要使用 GPU 来进行架构搜索,可将 `gpuNum``0` 改为 `1`。 根据训练时长,可以增加 `maxTrialNum``maxExecDuration`
在 "Trial" 部分中,如果需要使用 GPU 来进行架构搜索,可将 `gpuNum``0` 改为 `1`。 根据训练时长,可以增加 `maxTrialNum``maxExecDuration`
`trialConcurrency` 是并发运行的 Trial 的数量。如果将 `gpuNum` 设置为 1,则需要与 GPU 数量一致。
......
......@@ -64,7 +64,7 @@ searchSpacePath: /path/to/your/search_space.json
参考 [这里](ExperimentConfig.md) 进一步了解如何配置实验。
*参考[这里](sdk_reference.md),了解更多 NNI API 例如`nni.get_sequence_id()`
* 参考[这里](https://nni.readthedocs.io/en/latest/sdk_reference.html),了解更多 NNI API (例如 `nni.get_sequence_id()`)
<a name="nni-annotation"></a>
......
......@@ -7,17 +7,17 @@
* 查看 Experiment 的配置和搜索空间内容。
* 支持下载 Experiment 结果。
![](./img/webui-img/over1.png)
![](../img/webui-img/over1.png)
* 查看最好结果的 Trial。
![](./img/webui-img/over2.png)
![](../img/webui-img/over2.png)
## 查看任务默认指标
点击 "Default Metric" 来查看所有 Trial 的点图。 悬停鼠标来查看默认指标和搜索空间信息。
![](./img/accuracy.png)
![](../img/accuracy.png)
## 查看超参
......@@ -26,13 +26,13 @@
* 可选择百分比查看最好的 Trial。
* 选择两个轴来交换位置。
![](./img/hyperPara.png)
![](../img/hyperPara.png)
## 查看 Trial 运行时间
点击 "Trial Duration" 标签来查看柱状图。
![](./img/trial_duration.png)
![](../img/trial_duration.png)
## 查看 Trial 状态
......@@ -40,14 +40,14 @@
* Trial 详情:Trial 的 id,持续时间,开始时间,结束时间,状态,精度和搜索空间。
![](./img/webui-img/detail-local.png)
![](../img/webui-img/detail-local.png)
* 如果在 OpenPAI 或 Kubeflow 平台上运行,还可以看到 hdfsLog。
![](./img/webui-img/detail-pai.png)
![](../img/webui-img/detail-pai.png)
* Kill: 可终止正在运行的任务。
* 支持搜索某个特定的 Trial。
* 中间结果图。
![](./img/intermediate.png)
\ No newline at end of file
![](../img/intermediate.png)
\ No newline at end of file
Assessor(评估器)
==============
==================
为了节省计算资源,在 NNI 中可通过创建 **Assessor**,来配置提前终止策略。
Assessor 从 Trial 中接收中间结果,并通过指定的算法决定此 Trial 是否应该终止。 一旦 Trial 满足了提前终止策略(这表示 Assessor 认为最终结果不会太好),Assessor 会终止此 Trial,并将其状态标志为 `"EARLY_STOPPED"`。
这是 MNIST 在使用了 'Curvefitting' Assessor 的 'maximize' 模式后的实验结果,可以看到 Assessor 成功的将大量最终结果不好的 Trial **提前结束**。 使用 Assessor,能在相同的计算资源下,得到更好的结果。
这是 MNIST 在使用了 'Curvefitting' Assessor 的 'maximize' 模式后的实验结果,可以看到 Assessor 成功的将大量最终结果不好的 Trial **提前结束** 。 使用 Assessor,能在相同的计算资源下,得到更好的结果。
*实现代码:config_assessor.yml <https://github.com/Microsoft/nni/blob/master/examples/trials/mnist/config_assessor.yml>*
.. image:: ./img/Assessor.png
.. image:: ../img/Assessor.png
与 Tuner 类似,可使用内置的 Assessor,也可以自定义 Assessor。 参考下列教程,获取详细信息:
......
# Batch Tuner
## Batch Tuner(批处理调参器)
## Batch Tuner(批调参器)
Batch Tuner 能让用户简单的提供几组配置(如,超参选项的组合)。 当所有配置都执行完后,Experiment 即结束。 Batch Tuner 仅支持[搜索空间](../../../../../docs/SearchSpaceSpec.md)中的 choice。
Batch Tuner 能让用户简单的提供几组配置(如,超参选项的组合)。 当所有配置都执行完后,Experiment 即结束。 Batch Tuner [搜索空间](SearchSpaceSpec.md)只支持 `choice`
建议场景:如果 Experiment 配置已确定,可通过 choice 将它们罗列到搜索空间文件中运行即可。
\ No newline at end of file
......@@ -51,7 +51,7 @@ python3 -m pip install torchvision
*实现代码:[main.py](https://github.com/Microsoft/nni/blob/master/examples/trials/cifar10_pytorch/main.py)*
也可以直接使用以前的代码来修改,参考:[如何编写 Trial](./Trials.md)
还可直接修改现有的代码来支持 NNI,参考:[如何编写 Trial](Trials.md)
**配置**
......
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