Skip to content

Commit 4087de2

Browse files
authored
fix_typo_and_adjust_structure (#797)
1 parent 933ebbb commit 4087de2

24 files changed

+606
-617
lines changed

doc/fluid/api_guides/low_level/distributed/cpu_train_best_practice.rst renamed to doc/fluid/advanced_usage/best_practice/cpu_train_best_practice.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.. _api_guide_cpu_training_best_practice:
22

3-
##################
3+
####################
44
分布式CPU训练最佳实践
5-
##################
5+
####################
66

77
提高CPU分布式训练的训练速度,主要要从两个方面来考虑:
88
1)提高训练速度,主要是提高CPU的使用率;2)提高通信速度,主要是减少通信传输的数据量。

doc/fluid/advanced_usage/best_practice/dist_training_gpu.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
.. _best_practice_dist_training_gpu:
22

3-
性能优化最佳实践之:GPU分布式训练
4-
============================
3+
#####################
4+
分布式GPU训练最佳实践
5+
#####################
56

67
开始优化您的GPU分布式训练任务
78
-------------------------
@@ -170,7 +171,7 @@ PaddlePaddle Fluid使用“线程池” [#]_ 模型调度并执行Op,Op在启
170171
数据读取的优化在GPU训练中至关重要,尤其在不断增加batch_size提升吞吐时,计算对reader性能会有更高对要求,
171172
优化reader性能需要考虑的点包括:
172173

173-
1. 使用 :code:`pyreader`
174+
1. 使用 :code:`pyreader`
174175
参考 `这里 <../../user_guides/howto/prepare_data/use_py_reader.html>`_
175176
使用pyreader,并开启 :code:`use_double_buffer`
176177
2. reader返回uint8类型数据
@@ -229,7 +230,7 @@ PaddlePaddle Fluid使用“线程池” [#]_ 模型调度并执行Op,Op在启
229230
for batch_id in (iters_per_pass):
230231
exe.run()
231232
pyreader.reset()
232-
233+
233234
234235
使用混合精度训练
235236
++++++++++++++
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#########
2+
最佳实践
3+
#########
4+
5+
.. toctree::
6+
:hidden:
7+
8+
cpu_train_best_practice.rst
9+
dist_training_gpu.rst
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
###############
2+
Best Practice
3+
###############
4+
5+
.. toctree::
6+
:hidden:
7+
8+
cpu_train_best_practice_en.rst

doc/fluid/advanced_usage/design_idea/fluid_design_idea.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,28 @@ Fluid使用一种编译器式的执行流程,分为编译时和运行时两个
2121
</p>
2222

2323
1. 编译时,用户编写一段python程序,通过调用 Fluid 提供的算子,向一段 Program 中添加变量(Tensor)以及对变量的操作(Operators 或者 Layers)。用户只需要描述核心的前向计算,不需要关心反向计算、分布式下以及异构设备下如何计算。
24-
24+
2525
2. 原始的 Program 在平台内部转换为中间描述语言: `ProgramDesc`
26-
26+
2727
3. 编译期最重要的一个功能模块是 `Transpiler``Transpiler` 接受一段 `ProgramDesc` ,输出一段变化后的 `ProgramDesc` ,作为后端 `Executor` 最终需要执行的 Fluid Program
2828

2929
4. 后端 Executor 接受 Transpiler 输出的这段 Program ,依次执行其中的 Operator(可以类比为程序语言中的指令),在执行过程中会为 Operator 创建所需的输入输出并进行管理。
30-
3130

3231

33-
34-
## 2. Program设计思想
32+
33+
34+
## 2. Program设计思想
3535

3636
用户完成网络定义后,一段 Fluid 程序中通常存在 2 段 Program:
3737

3838
1. fluid.default_startup_program:定义了创建模型参数,输入输出,以及模型中可学习参数的初始化等各种操作
39-
39+
4040
default_startup_program 可以由框架自动生成,使用时无需显示地创建
41-
41+
4242
如果调用修改了参数的默认初始化方式,框架会自动的将相关的修改加入default_startup_program
43-
43+
4444
2. fluid.default_main_program :定义了神经网络模型,前向反向计算,以及优化算法对网络中可学习参数的更新
45-
45+
4646
使用Fluid的核心就是构建起 default_main_program
4747

4848

@@ -53,7 +53,7 @@ Fluid 的 Program 的基本结构是一些嵌套 blocks,形式上类似一段
5353
blocks中包含:
5454

5555
- 本地变量的定义
56-
- 一系列的operator
56+
- 一系列的operator
5757

5858
block的概念与通用程序一致,例如在下列这段C++代码中包含三个block:
5959

@@ -95,7 +95,7 @@ prob = ie()
9595
```
9696
### BlockDesc and ProgramDesc
9797

98-
用户描述的block与program信息在Fluid中以[protobuf](https://en.wikipedia.org/wiki/Protocol_Buffers) 格式保存,所有的`protobub`信息被定义在`framework.proto`中,在Fluid中被称为BlockDesc和ProgramDesc。ProgramDesc和BlockDesc的概念类似于一个[抽象语法树](https://en.wikipedia.org/wiki/Abstract_syntax_tree)
98+
用户描述的block与program信息在Fluid中以[protobuf](https://en.wikipedia.org/wiki/Protocol_Buffers) 格式保存,所有的`protobuf`信息被定义在`framework.proto`中,在Fluid中被称为BlockDesc和ProgramDesc。ProgramDesc和BlockDesc的概念类似于一个[抽象语法树](https://en.wikipedia.org/wiki/Abstract_syntax_tree)
9999

100100
`BlockDesc`中包含本地变量的定义`vars`,和一系列的operator`ops`
101101

@@ -172,12 +172,12 @@ class Executor{
172172
Scope* scope,
173173
int block_id) {
174174
auto& block = pdesc.Block(block_id);
175-
175+
176176
//创建所有变量
177177
for (auto& var : block.AllVars())
178178
scope->Var(Var->Name());
179179
}
180-
180+
181181
//创建OP并按顺序执行
182182
for (auto& op_desc : block.AllOps()){
183183
auto op = CreateOp(*op_desc);
@@ -300,7 +300,7 @@ BlockDesc中包含定义的 vars 和一系列的 ops,以输入x为例,python
300300
x = fluid.layers.data(name="x",shape=[1],dtype='float32')
301301
```
302302
在BlockDesc中,变量x被描述为:
303-
```
303+
```
304304
vars {
305305
name: "x"
306306
type {

doc/fluid/advanced_usage/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@
2929
development/profiling/index_cn.rst
3030
development/contribute_to_paddle/index_cn.rst
3131
development/write_docs_cn.md
32-
best_practice/dist_training_gpu.rst
33-
paddle_slim/paddle_slim.md
32+
best_practice/index_cn.rst
33+
paddle_slim/paddle_slim.md

doc/fluid/advanced_usage/index_en.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,4 @@ We gladly encourage your contributions of codes and documentation to our communi
2929
development/profiling/index_en.rst
3030
development/contribute_to_paddle/index_en.rst
3131
development/write_docs_en.md
32+
best_practice/index_en.rst

0 commit comments

Comments
 (0)