From 2259a258b77995b8559e84621609ad6f67cd2411 Mon Sep 17 00:00:00 2001 From: Shan Yi <35982308+shanyi15@users.noreply.github.com> Date: Fri, 2 Nov 2018 10:48:29 +0800 Subject: [PATCH] Update Developer's_Guide_to_Paddle_Fluid.md --- .../Developer's_Guide_to_Paddle_Fluid.md | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/doc/fluid/getstarted/Developer's_Guide_to_Paddle_Fluid.md b/doc/fluid/getstarted/Developer's_Guide_to_Paddle_Fluid.md index 79df6c595..a993a4300 100644 --- a/doc/fluid/getstarted/Developer's_Guide_to_Paddle_Fluid.md +++ b/doc/fluid/getstarted/Developer's_Guide_to_Paddle_Fluid.md @@ -82,11 +82,11 @@ # Fluid: 系统形态 -- [编译器式的执行流程,区分编译时和运行时](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/design/motivation/fluid_compiler.md) +- [编译器式的执行流程,区分编译时和运行时](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/fluid/design/motivation/fluid_compiler.md)

- +

--- @@ -125,7 +125,7 @@ - 在科学计算领域,计算图是一种描述计算的经典方式。下图展示了从前向计算图(蓝色)开始,通过添加反向(红色)和优化算法相关(绿色)操作,构建出整个计算图的过程: -

- +

@@ -224,7 +224,7 @@ 1. 创建`Block`,依次执行`Block`

-
+
Figure. 编译时运行时概览

@@ -246,7 +246,7 @@ cost = fluid.layers.square_error_cost(input=y_predict, label=y) ``` -- 条件分支: [swith](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/design/execution/switch.md)、[ifelse](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/design/execution/if_else_op.md) +- 条件分支: [swith](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/fluid/design/execution/switch.md)、[ifelse](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/fluid/design/execution/if_else_op.md) ```python a = fluid.Var(10) @@ -330,7 +330,7 @@ --- -### 编译时概念 :==**[Transpiler](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/design/motivation/fluid_compiler.md)**== +### 编译时概念 :==**[Transpiler](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/fluid/design/motivation/fluid_compiler.md)**== 1. 接受一段`ProgramDesc`作为输入,生成一段新的`ProgramDesc` @@ -349,7 +349,7 @@ ### Transplier

- +

--- @@ -357,7 +357,7 @@ ### 打印 `ProgramDesc`

- +

@@ -384,8 +384,8 @@ - - + + @@ -501,7 +501,7 @@

- +

- 图(a)的LoD 信息 @@ -518,7 +518,7 @@ #### Tensor, Variable, Scope 之间的关系

- +

@@ -541,7 +541,7 @@

- +

输入
1. `ProgramDesc`
2. `Scope`
3.`block_id`

解释执行步骤
1. 创建所有 Variables
2. 逐一创建 Operator 并运行 @@ -554,7 +554,7 @@

- +

- operator 无状态,Operator的核心是==Run==方法 @@ -575,10 +575,10 @@

- +

- +

@@ -800,7 +800,7 @@ class GPUAllocator : public SystemAllocator { - 可以将Place类型理解为一个整数加上一个枚举型,包括:设备号 + 设备类型

- +

- DeviceContext - 不同的Place会对应一个相应的DeviceContext,用于组织管理与设备相关的信息 @@ -938,7 +938,7 @@ void Run(const framework::Scope &scope,

- +

- `dynamicRNN` 中的重要元素 @@ -1003,7 +1003,7 @@ void Run(const framework::Scope &scope, - 以机器翻译的RNN encoder-decoder 模型(涉及了`dynamicRNN`的所有设计要素)为例,下图是 RNN encoder-decoder 的原始输入:

-
Figure. RNN encoder-decoder 原始batch 输入数据 +
Figure. RNN encoder-decoder 原始batch 输入数据

- source word sequences 是encoder RNN的输出,是一个LoDTensor @@ -1035,14 +1035,14 @@ void Run(const framework::Scope &scope, ### 运行实例

- +

--- ### 运行实例

- +

@@ -1055,7 +1055,7 @@ void Run(const framework::Scope &scope, ### 运行实例

- +

@@ -1071,14 +1071,14 @@ void Run(const framework::Scope &scope, ### 运行实例:batch 1 ~ 2

-
Figure. 第1、2个batch输入dynamicRNN的batch输入 +
Figure. 第1、2个batch输入dynamicRNN的batch输入

--- ### 运行实例:batch 3 ~ 4

-
Figure. 第3、4个batch输入dynamicRNN的batch输入 +
Figure. 第3、4个batch输入dynamicRNN的batch输入

--- @@ -1086,7 +1086,7 @@ void Run(const framework::Scope &scope, ### 运行实例:batch 5 ~ 7

-
Figure. 第5、6、7个batch输入dynamicRNN的batch输入 +
Figure. 第5、6、7个batch输入dynamicRNN的batch输入

--- @@ -1106,12 +1106,12 @@ void Run(const framework::Scope &scope,

- +

- +

@@ -1127,32 +1127,32 @@ void Run(const framework::Scope &scope, - 设计概览 - - 重构概览 [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/refactorization.md) - - fluid [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/fluid.md) - - fluid_compiler [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/design/motivation/fluid_compiler.md) + - 重构概览 [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/refactorization.md) + - fluid [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/fluid.md) + - fluid_compiler [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/fluid/design/motivation/fluid_compiler.md) - 核心概念 - - variable 描述 [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/var_desc.md) + - variable 描述 [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/var_desc.md) - Tensor [->](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/framework/tensor.md) - LoDTensor [->](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/framework/lod_tensor.md) - - TensorArray [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/tensor_array.md) - - Program [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/program.md) - - Block [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/block.md) - - Scope [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/scope.md) + - TensorArray [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/tensor_array.md) + - Program [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/program.md) + - Block [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/block.md) + - Scope [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/scope.md) --- - 重要功能模块 - - backward [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/backward.md) - - 内存优化 [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/memory_optimization.md) - - evaluator [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/executor.md) - - python API [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/python_api.md) - - regularization [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/regularization.md) + - backward [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/backward.md) + - 内存优化 [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/memory_optimization.md) + - evaluator [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/executor.md) + - python API [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/python_api.md) + - regularization [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/regularization.md) - 开发指南 - - 支持新设硬件设备库 [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/support_new_device.md) - - 添加新的Operator [->](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/howto/dev/new_op_cn.md) + - 支持新设硬件设备库 [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/design/support_new_device.md) + - 添加新的Operator [->](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/howto/dev/new_op_cn.md) - 添加新的Kernel [->]( -https://github.com/PaddlePaddle/Paddle/blob/develop/doc/howto/dev/new_op_kernel_en.md) +https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/howto/dev/new_op_kernel_en.md) @@ -1487,7 +1487,7 @@ class ClipKernel : public framework::OpKernel { - 为了使`OpKernel`的计算过程书写更加简单,并且CPU、CUDA的代码可以复用, Fluid 使用 Eigen 作为基础的矩阵运算库 - Fluid对Eigen unsupported Tensor提供了一些基本的封装,可以在`Compute`接口中直接调用 - - 关于在PaddlePaddle中如何使用Eigen库,请参考[使用文档](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/fluid/dev/use_eigen_cn.md)。 + - 关于在PaddlePaddle中如何使用Eigen库,请参考[使用文档](https://github.com/PaddlePaddle/Fluiddoc/blob/develop/doc/fluid/dev/use_eigen_cn.md)。
-- GitLab