torch.no_grad

参考  torch.no_grad - 云+社区 - 腾讯云

目录

class torch.no_grad[source]


class torch.no_grad[source]

不能进行梯度计算的上下文管理器。当你确定你不调用Tensor.backward()时,不能计算梯度对测试来讲非常有用。对计算它将减少内存消耗,否则requires_grad=True。在这个模式下,每个计算结果都需要使得requires_grad=False,即使当输入为requires_grad=True。当使用enable_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,计算机视觉,深度学习,机器学习)