with torch.no_grad()

翻译自官方说明文档

总的来说就是不再进行梯度的计算,在测试中很有效

说明如下:

禁用梯度计算的上下文管理器。

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

在这种模式下,即使输入具有require_grad = True,每次计算的结果也将具有require_grad = False。

使用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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值