Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
yinhaofeng committed Nov 19, 2020
1 parent 62237c7 commit 93399eb
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 22 deletions.
6 changes: 3 additions & 3 deletions doc/ps_background.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## [分布式训练概述](https://www.paddlepaddle.org.cn/tutorials/projectdetail/459124)
## [分布式训练概述](https://www.paddlepaddle.org.cn/tutorials/projectdetail/511818)


## [多机多卡训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/459127)
## [多机多卡训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/479613)


## [参数服务器训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/464839)
## [参数服务器训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/487871)
16 changes: 8 additions & 8 deletions doc/source/paddlerec/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
PaddleRec将推荐模型的训练与预测流程,整体抽象为了五个大模块:

<p align="center">
<img align="center" src="imgs/design.png">
<img align="center" src="../media/design.png">
<p>

core的文件结构如下,后续分别对各个模块进行介绍。
Expand Down Expand Up @@ -53,7 +53,7 @@ Engine是整体训练的执行引擎,与组网逻辑及数据无关,只与
- GPU
- 其他AI芯片

在用户调用`python -m paddlerec.run`时,首先会根据`yaml`文件中的配置信息选择合适的执行引擎, 以下代码位于[run.py](../run.py)
在用户调用`python -m paddlerec.run`时,首先会根据`yaml`文件中的配置信息选择合适的执行引擎, 以下代码位于[run.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/run.py)
```python
engine_registry()
which_engine = get_engine(args)
Expand Down Expand Up @@ -107,7 +107,7 @@ single_engine被调用后,主要进行了以下两个工作:
- 本地模拟分布式引擎会在单机环境变量的基础上,额外设置本地模拟分布式的环境变量,比如:为各个进程设置不同通信端口,分配ID。最后会启动多个`Trainer`完成本地模拟分布式的工作。
- 分布式引擎会在单机环境变量的基础上,基于运行参数`-b --backend`所指定的脚本或配置文件,完成分布式任务的文件打包,上传,提交等操作。该脚本格式与分布式任务运行的集群有关,如MPI/K8S/PaddleCloud等,用户可以自定义分布式运行逻辑。

Engine的自定义实现,可以参考[local_cluster.py](../core/engine/local_cluster.py)
Engine的自定义实现,可以参考[local_cluster.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/engine/local_cluster.py)

## Trainer

Expand Down Expand Up @@ -137,7 +137,7 @@ SingleTrainer指定了以下5个步骤:

各个步骤的详细介绍及自定义方法,可以参照[自定义流程](./trainer_develop.md)

Trainer的自定义实现,可以参照[general_trainer.py](../core/trainers/general_trainer.py)
Trainer的自定义实现,可以参照[general_trainer.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/trainers/general_trainer.py)

## Model

Expand Down Expand Up @@ -192,7 +192,7 @@ def get_fetch_period(self):
return self._fetch_interval
```

model的具体实现,可以参考dnn的示例[model.py](../../models/rank/dnn/../../../paddlerec/core/model.py)
model的具体实现,可以参考dnn的示例[model.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/models/rank/dnn/model.py)


## Reader
Expand Down Expand Up @@ -231,8 +231,8 @@ class Reader(dg.MultiSlotDataGenerator):
用户需要关注并实现的是`def init(self)``def generate_sample(self,line)`函数,分别执行数据读取中预处理所需变量的初始化,以及每一行string的切分及处理逻辑。

当用户定义好以上两个函数,完成自己的Reader后,PaddleRec分别使用
- [dataset_instance.py](../core/utils/dataset_instance.py)
- [dataloader_instance.py](../core/utils/dataloader_instance.py)
- [dataset_instance.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/utils/dataset_instance.py)
- [dataloader_instance.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/utils/dataloader_instance.py)

完成reader的构建工作。

Expand Down Expand Up @@ -287,4 +287,4 @@ class Metric(object):
pass
```

全局指标的计算及输出,需要分别继承并实现以上四个成员函数。具体实现的例子,可以参考[auc_metric.py](../core/metrics/auc_metrics.py)
全局指标的计算及输出,需要分别继承并实现以上四个成员函数。具体实现的例子,可以参考[auc_metric.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/metrics/auc.py)
1 change: 0 additions & 1 deletion doc/source/paddlerec/distributed_train.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# 如何启动分布式训练
=================

- [目录](#目录)
- [基于PaddleCloud的分布式训练启动方法](#基于paddlecloud的分布式训练启动方法)
Expand Down
6 changes: 3 additions & 3 deletions doc/source/paddlerec/ps_background.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## 分布式学习介绍
### [分布式训练概述](https://www.paddlepaddle.org.cn/tutorials/projectdetail/459124)
### [分布式训练概述](https://www.paddlepaddle.org.cn/tutorials/projectdetail/511818)


### [多机多卡训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/459127)
### [多机多卡训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/479613)


### [参数服务器训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/464839)
### [参数服务器训练](https://www.paddlepaddle.org.cn/tutorials/projectdetail/487871)
4 changes: 2 additions & 2 deletions doc/source/paddlerec/rec_background.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

本文代码目录在[book/recommender_system](https://github.com/PaddlePaddle/book/tree/develop/05.recommender_system),初次使用请您参考[Book文档使用说明](https://github.com/PaddlePaddle/book/blob/develop/README.cn.md#运行这本书)

更多教程及背景知识可以查阅[深度学习实践应用:个性化推荐](https://www.paddlepaddle.org.cn/tutorials/projectdetail/460300)
更多教程及背景知识可以查阅[深度学习实践应用:个性化推荐](https://www.paddlepaddle.org.cn/tutorials/projectdetail/388755)

## 背景介绍

Expand Down Expand Up @@ -61,4 +61,4 @@ YouTube是世界上最大的视频上传、分享和发现网站,YouTube个性


<br/>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://paddlepaddleimage.cdn.bcebos.com/bookimage/camo.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Text" property="dct:title" rel="dct:type">本教程</span> 由 <a xmlns:cc="http://creativecommons.org/ns#" href="http://book.paddlepaddle.org" property="cc:attributionName" rel="cc:attributionURL">PaddlePaddle</a> 创作,采用 <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享 署名-相同方式共享 4.0 国际 许可协议</a>进行许可。
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://paddlepaddleimage.cdn.bcebos.com/bookimage/camo.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Text" property="dct:title" rel="dct:type">本教程</span> 由 <a xmlns:cc="http://creativecommons.org/ns#" href="https://www.paddlepaddle.org.cn/" property="cc:attributionName" rel="cc:attributionURL">PaddlePaddle</a> 创作,采用 <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享 署名-相同方式共享 4.0 国际 许可协议</a>进行许可。
10 changes: 5 additions & 5 deletions doc/source/paddlerec/trainer_develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ PaddleRec可自定义的流程有如下5个:

## instance

instance由GeneralTrainer首先调用,执行模型组网前的所有操作。用户可以在这里进行下载数据,import不同的包,配置环境变量等操作。instance的官方实现位于[instance.py](../core/trainers/framework/instance.py),instance基类定义如下:
instance由GeneralTrainer首先调用,执行模型组网前的所有操作。用户可以在这里进行下载数据,import不同的包,配置环境变量等操作。instance的官方实现位于[instance.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/trainers/framework/instance.py),instance基类定义如下:

```python
class InstanceBase(object):
Expand All @@ -26,7 +26,7 @@ class InstanceBase(object):

## network

network将在instanc后调用,执行模型的组网。network的官方实现位于[network.py](../core/trainers/framework/network.py),network基类定义如下:
network将在instanc后调用,执行模型的组网。network的官方实现位于[network.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/trainers/framework/network.py),network基类定义如下:

```python
class NetworkBase(object):
Expand All @@ -52,7 +52,7 @@ context["model"][model_dict["name"]][

## startup

startup执行网络参数的初始化,或者模型的热启动,主要功能是执行`exe.run(fluid.default_startup_program())`。 startup的官方实现在[startup](../core/trainers/framework/startup.py)
startup执行网络参数的初始化,或者模型的热启动,主要功能是执行`exe.run(fluid.default_startup_program())`。 startup的官方实现在[startup](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/trainers/framework/startup.py)

```python
class StartupBase(object):
Expand Down Expand Up @@ -113,7 +113,7 @@ class PSRunner(RunnerBase):
context["status"] = "terminal_pass"
```

自定义runner需要参照官方实现[runner.py](../core/trainers/framework/runner.py),继承基类`RunnerBase`,命名为`Runner`,并实现`run`成员函数。
自定义runner需要参照官方实现[runner.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/core/trainers/framework/runner.py),继承基类`RunnerBase`,命名为`Runner`,并实现`run`成员函数。

## terminal

Expand Down Expand Up @@ -150,7 +150,7 @@ runner:
## 示例
官方模型中的TDM是一个很好的示例,该模型自定义了`startup`的实现,可以参考[tdm_startup.py](../models/treebased/tdm/tdm_startup.py)
官方模型中的TDM是一个很好的示例,该模型自定义了`startup`的实现,可以参考[tdm_startup.py](https://github.com/PaddlePaddle/PaddleRec/blob/master/models/treebased/tdm/tdm_startup.py)

```python
class Startup(StartupBase):
Expand Down

0 comments on commit 93399eb

Please sign in to comment.