enable_grad

class paddle. enable_grad [源代码]

创建一个上下文来启用动态图梯度计算。在此模式下,每次计算的结果都将具有 stop_gradient=False。

也可以用作一个装饰器(需要创建实例对象作为装饰器)。

代码示例

>>> import paddle

>>> # use as generator

>>> x = paddle.to_tensor([1.], stop_gradient=False)
>>> with paddle.no_grad():
...     with paddle.enable_grad():
...         y = x * 2
>>> assert(y.stop_gradient == False)
>>> y.backward()
>>> assert(x.grad is not None)

>>> # use as decorator

>>> @paddle.enable_grad()
>>> def double(x):
...     return x * 2
...
>>> with paddle.no_grad():
...     z = double(x)
...
>>> assert(z.stop_gradient == False)