Spec-Zone.ru › PyTorch 1

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API