设置梯度启用状态

classtorch.autograd.grad_mode.set_grad_enabled(mode)[源代码]

一个用于控制梯度计算开关的上下文管理器。

set_grad_enabled 根据参数 mode 来启用或禁用梯度计算。它既可以作为上下文管理器使用,也可以直接作为函数调用。

这个上下文管理器是线程局部的,不会影响其他线程中的计算。

参数

mode (bool) – 用于标志是否启用(True)或禁用(False)梯度。这可以用来有条件地控制梯度的开启。

注意

set_grad_enabled 是用于局部启用或禁用梯度的几种机制之一。有关这些机制的详细信息,请参阅局部禁用梯度计算

注意

此 API 不适用于 前向模式自动微分

示例:
>>> x = torch.tensor([1.], requires_grad=True)
>>> is_train = False
>>> with torch.set_grad_enabled(is_train):
...     y = x * 2
>>> y.requires_grad
False
>>> _ = torch.set_grad_enabled(True)
>>> y = x * 2
>>> y.requires_grad
True
>>> _ = torch.set_grad_enabled(False)
>>> y = x * 2
>>> y.requires_grad
False
clone()[源代码]

创建这个类的副本

返回类型

set_grad_enabled