Skip to content

Commit b2544dd

Browse files
authored
Weekly cherrypick0302 (#668)
* Update programming_guide.md (#664) * Update programming_guide.md * Update programming_guide_en.md * Update cn api to 1.3 (#663) * Update cn api to 1.3 fluid & layers * Rest to 1.3 * Weeklyupdate 0301 (#666) * Tables_rm_op * update_op * update_index * update_book_0302 (#667)
1 parent c6fa65e commit b2544dd

File tree

15 files changed

+1273
-372
lines changed

15 files changed

+1273
-372
lines changed
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
#############
2-
新增operator
2+
新增Operator
33
#############
44

5-
- `op相关的一些注意事项 <../../../advanced_usage/development/new_op/op_notes.html>`_ :介绍op相关的一些注意事项
5+
本部分将指导您如何新增Operator,也包括一些必要的注意事项
6+
7+
- `如何写新的op <./new_op.html>`_
8+
9+
- `op相关注意事项 <./op_notes.html>`_
610

711
.. toctree::
812
:hidden:
913

14+
new_op.md
1015
op_notes.md
16+

doc/fluid/advanced_usage/development/new_op/new_op.md

Lines changed: 452 additions & 0 deletions
Large diffs are not rendered by default.

doc/fluid/advanced_usage/development/new_op/new_op_cn.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

doc/fluid/advanced_usage/development/new_op/op_notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# op相关的一些注意事项
1+
# op相关注意事项
22

33
## Fluid中Op的构建逻辑
44
### 1.Fluid中Op的构建逻辑

doc/fluid/api_cn/clip_cn.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ ErrorClipByValue
1616

1717
给定一个张量 ``t`` ,该操作将它的值压缩到 ``min`` 和 ``max`` 之间
1818

19-
- 任何小于最小值的值都被设置为最小值
19+
- 任何小于min(最小值)的值都被设置为min
2020

21-
- 任何大于max的值都被设置为max
21+
- 任何大于max(最大值)的值都被设置为max
2222

2323
参数:
2424
- **max** (foat) - 要修剪的最大值。
25-
- **min** (float) - 要修剪的最小值。如果用户没有设置,将被 ``framework`` 设置为 ``-max``
25+
- **min** (float) - 要修剪的最小值。如果用户没有设置,将被框架默认设置为 ``-max``
2626

2727
**代码示例**
2828

doc/fluid/api_cn/executor_cn.rst

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Executor
1515
1616
1717
18+
19+
1820
执行引擎(Executor)使用python脚本驱动,仅支持在单GPU环境下运行。多卡环境下请参考 ``ParallelExecutor`` 。
1921
Python Executor可以接收传入的program,并根据feed map(输入映射表)和fetch_list(结果获取表)
2022
向program中添加feed operators(数据输入算子)和fetch operators(结果获取算子)。
@@ -28,12 +30,38 @@ Executor将全局变量存储到全局作用域中,并为临时变量创建局
2830

2931
program中所有的算子会按顺序执行。
3032

33+
**示例代码**
34+
35+
.. code-block:: python
36+
37+
# 新建一个执行引擎Executor名为exe。
38+
place = fluid.CUDAPlace(0) if use_cuda else fluid.CPUPlace()
39+
exe = fluid.Executor(place)
40+
41+
# 仅运行一次startup program.
42+
# 不需要优化/编译这个startup program.
43+
exe.run(fluid.default_startup_program())
44+
45+
# 无需编译,直接运行main program
46+
loss, = exe.run(fluid.default_main_program(),
47+
feed=feed_dict,
48+
fetch_list=[loss.name])
49+
50+
# 另一种方法是,编译这个main program然后运行. 参考CompiledProgram
51+
compiled_prog = compiler.CompiledProgram(
52+
fluid.default_main_program()).with_data_parallel(
53+
loss_name=loss.name)
54+
loss, = exe.run(compiled_prog,
55+
feed=feed_dict,
56+
fetch_list=[loss.name])
57+
58+
3159
参数:
3260
- **place** (core.CPUPlace|core.CUDAPlace(n)) – 指明了 ``Executor`` 的执行场所
3361

3462

3563

36-
提示:你可以用Executor来调试基于并行GPU实现的复杂网络,他们有完全一样的参数也会产生相同的结果。
64+
提示:你可以用 ``Executor`` 来调试基于并行GPU实现的复杂网络,他们有完全一样的参数也会产生相同的结果。
3765

3866

3967
.. py:method:: close()
@@ -62,8 +90,8 @@ feed map为该program提供输入数据。fetch_list提供program训练结束后
6290
应注意,执行器会执行program中的所有算子而不仅仅是依赖于fetch_list的那部分。
6391

6492
参数:
65-
- **program** (Program) – 需要执行的program,如果没有给定那么默认使用default_main_program
66-
- **feed** (dict) – 前向输入的变量,数据,词典dict类型, 例如 {“image”: ImageData, “label”: LableData}
93+
- **program** (Program|CompiledProgram) – 需要执行的program,如果没有给定那么默认使用default_main_program (未编译的)
94+
- **feed** (dict) – 前向输入的变量,数据,词典dict类型, 例如 {“image”: ImageData, “label”: LabelData}
6795
- **fetch_list** (list) – 用户想得到的变量或者命名的列表, run会根据这个列表给与结果
6896
- **feed_var_name** (str) – 前向算子(feed operator)变量的名称
6997
- **fetch_var_name** (str) – 结果获取算子(fetch operator)的输出变量名称
@@ -80,23 +108,21 @@ feed map为该program提供输入数据。fetch_list提供program训练结束后
80108

81109
.. code-block:: python
82110
83-
84111
data = fluid.layers.data(name='X', shape=[1], dtype='float32')
85112
out = fluid.layers.create_tensor(dtype='float32')
86113
hidden = fluid.layers.fc(input=data, size=10)
87-
fluid.layers.assign(hidden, out)
114+
fluid.layers.assign(hidden,out)
88115
loss = fluid.layers.mean(out)
89116
adam = fluid.optimizer.Adam()
90-
adam.minimize(loss)
117+
# adam.minimize(loss)
91118
92119
93120
.. code-block:: python
94-
95-
121+
96122
cpu = core.CPUPlace()
97123
exe = fluid.Executor(cpu)
98124
exe.run(fluid.default_startup_program())
99-
125+
100126
.. code-block:: python
101127
102128
x = numpy.random.random(size=(10, 1)).astype('float32')
@@ -118,7 +144,7 @@ feed map为该program提供输入数据。fetch_list提供program训练结束后
118144
global_scope
119145
-------------------------------
120146

121-
.. py:function:: paddle.fluid.global_scope()
147+
.. py:function:: paddle.fluid.global_scope ()
122148
123149
124150
获取全局/默认作用域实例。很多api使用默认 ``global_scope`` ,例如 ``Executor.run`` 。
@@ -137,7 +163,7 @@ global_scope
137163
scope_guard
138164
-------------------------------
139165

140-
.. py:function:: paddle.fluid.scope_guard(*args, **kwds)
166+
.. py:function:: paddle.fluid.scope_guard (scope)
141167
142168
143169
修改全局/默认作用域(scope), 运行时中的所有变量都将分配给新的scope。

0 commit comments

Comments
 (0)