inference_mode
-
class torch.inference_mode(mode=True)[source] -
Контекстный менеджер, который включает или отключает режим вывода.
InferenceMode — новый контекстный менеджер, аналогичный
no_grad, который следует использовать, когда вы уверены, что ваши операции не будут взаимодействовать с автоградом (например, при обучении модели). Код, выполняемый в этом режиме, обеспечивает лучшую производительность, отключая отслеживание представлений и изменения счётчика версий. Обратите внимание, что в отличие от некоторых других механизмов, которые локально включают или отключают градиенты, вход в inference_mode также отключает forward-mode AD.Этот контекстный менеджер локален для потока; он не повлияет на вычисления в других потоках.
Также работает как декоратор. (Убедитесь, что вы его инициализируете с помощью скобок.)
Примечание
Режим вывода — один из нескольких механизмов, которые могут локально включать или отключать градиенты. Смотрите Локальное отключение вычисления градиента для получения дополнительной информации о том, как они сравниваются.
- Параметры:
-
mode (bool) – Флаг, определяющий, включить или отключить режим вывода
- Пример::
-
>>> 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
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.inference_mode.html