推理模式

torch.autograd.grad_mode.inference_mode(mode=True)[源代码]

一个用于开启或关闭推理模式的上下文管理器。

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

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

也可以用作装饰器。

注意

推理模式是几种可以局部启用或禁用梯度的机制之一。有关这些机制的详细信息,请参阅局部禁用梯度计算

参数

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

本页目录