@@ -18,6 +18,15 @@ COPY-FROM: paddle.static.BuildStrategy
18
18
19
19
属性
20
20
::::::::::::
21
+ build_cinn_pass
22
+ '''''''''
23
+
24
+ str 类型。表示是否将计算图中的一些算子降级(lowering)为 CINN 算子来执行,这可以加速执行过程。默认值为 False。
25
+
26
+ **代码示例 **
27
+
28
+ COPY-FROM: paddle.static.BuildStrategy.build_cinn_pass
29
+
21
30
debug_graphviz_path
22
31
'''''''''
23
32
@@ -28,14 +37,41 @@ str 类型。表示以 graphviz 格式向文件中写入计算图的路径,有
28
37
COPY-FROM: paddle.static.BuildStrategy.debug_graphviz_path
29
38
30
39
31
- enable_sequential_execution
40
+ enable_auto_fusion
41
+ '''''''''
42
+
43
+ bool 类型。是否将子图(subgraph)融合成一个融合组(fusion_group)。目前我们仅支持融合由逐元素类(elementwise-like)算子组成的子图,例如无广播(broadcast)机制的 elementwise_add/mul 以及激活函数(activations)。
44
+
45
+ **代码示例 **
46
+
47
+ COPY-FROM: paddle.static.BuildStrategy.enable_auto_fusion
48
+
49
+ fuse_adamw
50
+ '''''''''
51
+
52
+ bool 类型。表示是否将所有的 adamw 优化器与 multi_tensor_adam 进行融合,该操作可能会提升执行速度。默认值为 False。
53
+
54
+ **代码示例 **
55
+
56
+ COPY-FROM: paddle.static.BuildStrategy.fuse_adamw
57
+
58
+ fuse_bn_act_ops
59
+ '''''''''
60
+
61
+ bool 类型。表示是否融合批量归一化(batch_norm)和激活算子(activation_op),该操作可提升执行速度。默认值为 False。
62
+
63
+ **代码示例 **
64
+
65
+ COPY-FROM: paddle.static.BuildStrategy.fuse_bn_act_ops
66
+
67
+ fuse_bn_add_act_ops
32
68
'''''''''
33
69
34
- bool 类型。如果设置为 True,则算子的执行顺序将与算子定义的执行顺序相同。默认为 False 。
70
+ bool 类型。表示是否融合批量归一化(batch_norm)、逐元素加法(elementwise_add)和激活算子(activation_op),该操作可提升执行速度。默认值为 True 。
35
71
36
72
**代码示例 **
37
73
38
- COPY-FROM: paddle.static.BuildStrategy.enable_sequential_execution
74
+ COPY-FROM: paddle.static.BuildStrategy.fuse_bn_add_act_ops
39
75
40
76
fuse_broadcast_ops
41
77
'''''''''
@@ -46,6 +82,15 @@ bool 类型。表明是否融合(fuse) broadcast ops。该选项指在 Reduce
46
82
47
83
COPY-FROM: paddle.static.BuildStrategy.fuse_broadcast_ops
48
84
85
+ fuse_dot_product_attention
86
+ '''''''''
87
+
88
+ bool 类型。表示是否融合点积注意力(dot product attention),该操作可以提升执行速度。默认值为 False。
89
+
90
+ **代码示例 **
91
+
92
+ COPY-FROM: paddle.static.BuildStrategy.fuse_dot_product_attention
93
+
49
94
fuse_elewise_add_act_ops
50
95
'''''''''
51
96
@@ -55,6 +100,15 @@ bool 类型。表明是否融合(fuse) elementwise_add_op 和 activation_op。
55
100
56
101
COPY-FROM: paddle.static.BuildStrategy.fuse_elewise_add_act_ops
57
102
103
+ fuse_gemm_epilogue
104
+ '''''''''
105
+
106
+ bool 类型。表示是否融合矩阵乘法算子(matmul_op)、逐元素加法算子(elementwise_add_op)和激活算子(activation_op),该操作可提升执行速度。默认值为 False。
107
+
108
+ **代码示例 **
109
+
110
+ COPY-FROM: paddle.static.BuildStrategy.fuse_gemm_epilogue
111
+
58
112
fuse_relu_depthwise_conv
59
113
'''''''''
60
114
@@ -64,25 +118,64 @@ bool 类型。表明是否融合(fuse) relu 和 depthwise_conv2d,节省 GPU
64
118
65
119
COPY-FROM: paddle.static.BuildStrategy.fuse_relu_depthwise_conv
66
120
121
+ fuse_resunit
122
+ '''''''''
123
+
124
+ bool 类型。默认为 False。
125
+
126
+ **代码示例 **
127
+
128
+ COPY-FROM: paddle.static.BuildStrategy.fuse_resunit
129
+
130
+ fused_attention
131
+ '''''''''
132
+
133
+ bool 类型。表示是否将整个多头注意力(multi-head attention)部分融合成一个算子(op),该操作可提升执行速度。默认值为 False。
134
+
135
+ **代码示例 **
136
+
137
+ COPY-FROM: paddle.static.BuildStrategy.fused_attention
138
+
139
+ fused_feedforward
140
+ '''''''''
141
+
142
+ bool 类型。表示是否将整个前馈网络(feed_forward)部分融合成一个算子(op),该操作可提升执行速度。默认值为 False。
143
+
144
+ **代码示例 **
145
+
146
+ COPY-FROM: paddle.static.BuildStrategy.fused_feedforward
147
+
67
148
memory_optimize
68
149
'''''''''
69
150
70
151
bool 类型或 None。设为 True 时可用于减少总内存消耗,False 表示不使用,None 表示框架会自动选择使用或者不使用优化策略。当前,None 意味着当 GC 不能使用时,优化策略将被使用。默认为 None。
71
152
153
+ **代码示例 **
154
+
155
+ COPY-FROM: paddle.static.BuildStrategy.memory_optimize
156
+
72
157
reduce_strategy
73
158
'''''''''
74
159
75
- ``static.BuildStrategy.ReduceStrategy `` 类型。在 ``ParallelExecutor `` 中,存在两种参数梯度聚合策略,即 ``AllReduce `` 和 ``Reduce `` 。如果用户需要在所有执行设备上独立地进行参数更新,可以使用 ``AllReduce `` 。如果使用 ``Reduce `` 策略,所有参数的优化将均匀地分配给不同的执行设备,随之将优化后的参数广播给其他执行设备。
76
- 默认值为 ``AllReduce `` 。
160
+ ``static.BuildStrategy.ReduceStrategy `` 类型。在 ``ParallelExecutor `` 中,存在两种参数梯度聚合策略,即 ``AllReduce `` 和 ``Reduce `` 。如果用户需要在所有执行设备上独立地进行参数更新,可以使用 ``AllReduce `` 。如果使用 ``Reduce `` 策略,所有参数的优化将均匀地分配给不同的执行设备,随之将优化后的参数广播给其他执行设备。默认值为 ``AllReduce `` 。
77
161
78
162
**代码示例 **
79
163
80
164
COPY-FROM: paddle.static.BuildStrategy.reduce_strategy
81
165
166
+ sequential_run
167
+ '''''''''
168
+
169
+ bool 类型。该参数用于控制 StandaloneExecutor 是否按照 ProgramDesc 中定义的顺序来执行算子(ops)。默认值为 False。
170
+
171
+ **代码示例 **
172
+
173
+ COPY-FROM: paddle.static.BuildStrategy.sequential_run
174
+
82
175
sync_batch_norm
83
176
'''''''''
84
177
85
- bool 类型。表示是否使用同步的批正则化,即在训练阶段通过多个设备同步均值和方差。当前的实现不支持 FP16 训练和 CPU。并且目前**仅支持**仅在一台机器上进行同步式批正则。默认为 False。
178
+ bool 类型。表示是否使用同步的批正则化,即在训练阶段通过多个设备同步均值和方差。当前的实现不支持 FP16 训练和 CPU。并且目前 **仅支持 ** 仅在一台机器上进行同步式批正则。默认为 False。
86
179
87
180
**代码示例 **
88
181
0 commit comments