评价此页

inference_mode#

class torch.autograd.grad_mode.inference_mode(mode=True)[源]#

启用或禁用推理模式的上下文管理器。

InferenceMode 是一个上下文管理器,类似于 no_grad,用于您确定操作不会与自动求导交互(例如,模型训练)时。在此模式下运行的代码通过禁用视图跟踪和版本计数器递增来获得更好的性能。请注意,与一些局部启用或禁用梯度的其他机制不同,进入 inference_mode 还会禁用 正向模式 AD

此上下文管理器是线程局部(thread local)的;它不会影响其他线程中的计算。

也可作为装饰器使用。

注意

推理模式是几种可以局部启用或禁用梯度的机制之一,有关它们如何比较的更多信息,请参阅 局部禁用梯度计算

参数

mode (boolfunction) – 布尔标志,用于启用或禁用推理模式,或用于装饰启用推理模式的 Python 函数。

示例:
>>> import torch
>>> x = torch.ones(1, 2, 3, requires_grad=True)
>>> with torch.inference_mode():
...     y = x * x
>>> y.requires_grad
False
>>> y._version
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: Inference tensors do not track version counter.
>>> @torch.inference_mode()
... def func(x):
...     return x * x
>>> out = func(x)
>>> out.requires_grad
False
>>> @torch.inference_mode()
... def doubler(x):
...     return x * 2
>>> out = doubler(x)
>>> out.requires_grad
False
clone()[源]#

创建此类的副本

返回类型

inference_mode