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)