BackwardStrategy
查看属性与别名
API属性:命令式编程模式(动态图)
class paddle.fluid.dygraph.BackwardStrategy
注意:该API只在动态图下生效
BackwardStrategy是描述动态图反向执行的策略,主要功能是定义动态图反向执行时的不同策略
属性
sort_sum_gradient
是否按照前向执行的逆序加和多个梯度,例如当 x_var( Variable )作为多个OP(这里以 scale 为例)的输入时,其产生的梯度是否按照前向书写时的 逆序加和,默认为False
代码示例
import numpy as np
import paddle.fluid as fluid
x = np.ones([2, 2], np.float32)
with fluid.dygraph.guard():
x_var = fluid.dygraph.to_variable(x)
sums_inputs = []
# 这里x_var将作为多个输入scale的输入
for _ in range(10):
sums_inputs.append(fluid.layers.scale(x_var))
ret2 = fluid.layers.sums(sums_inputs)
loss2 = fluid.layers.reduce_sum(ret2)
backward_strategy = fluid.dygraph.BackwardStrategy()
backward_strategy.sort_sum_gradient = True
loss2.backward(backward_strategy)