当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch no_grad用法及代码示例


本文简要介绍python语言中 torch.autograd.no_grad 的用法。

用法:

class torch.autograd.no_grad

Context-manager 禁用梯度计算。

当您确定不会调用 Tensor.backward() 时,禁用梯度计算对推理很有用。它将减少原本会有 requires_grad=True 的计算的内存消耗。

在此模式下,即使输入具有 requires_grad=True ,每次计算的结果都将具有 requires_grad=False

这个上下文管理器是线程本地的;它不会影响其他线程中的计算。

也起到装饰器的作用。 (确保用括号实例化。)

注意

No-grad 是可以在本地启用或禁用梯度的几种机制之一,请参阅本地禁用梯度计算以获取有关它们如何比较的更多信息。

例子:

>>> x = torch.tensor([1], requires_grad=True)
>>> with torch.no_grad():
...   y = x * 2
>>> y.requires_grad
False
>>> @torch.no_grad()
... def doubler(x):
...     return x * 2
>>> z = doubler(x)
>>> z.requires_grad
False

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.autograd.no_grad。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。