Функция is_inference_mode_enabled
Функция is_inference_mode_enabled возвращает True, если в текущем контексте
выполнения включен режим вывода, и False в противном случае. Режим вывода - это специальный
режим выполнения, который отключает вычисление градиентов и некоторые проверки для повышения
производительности при инференсе.
Синтаксис
torch.is_inference_mode_enabled()
Пример
Давайте проверим состояние режима вывода по умолчанию:
import torch
res = torch.is_inference_mode_enabled()
print(res)
Результат выполнения кода:
False
Пример
Давайте включим режим вывода с помощью контекстного менеджера и проверим его состояние:
import torch
with torch.inference_mode():
res = torch.is_inference_mode_enabled()
print(res)
Результат выполнения кода:
True
Пример
Давайте используем функцию для условного выполнения кода в зависимости от режима:
import torch
with torch.inference_mode():
if torch.is_inference_mode_enabled():
print("Inference mode is active")
t = torch.tensor([1, 2, 3, 4, 5])
print(t)
else:
print("Inference mode is not active")
Результат выполнения кода:
"Inference mode is active"
tensor([1, 2, 3, 4, 5])
Пример
Давайте проверим, что режим вывода отключается после выхода из контекстного менеджера:
import torch
with torch.inference_mode():
print("Inside:", torch.is_inference_mode_enabled())
print("Outside:", torch.is_inference_mode_enabled())
Результат выполнения кода:
"Inside: True"
"Outside: False"
Смотрите также
-
функцию
inference_mode,
которая включает режим вывода в контексте -
функцию
set_inference_mode,
которая включает или отключает режим вывода -
функцию
no_grad,
которая отключает вычисление градиентов без дополнительных оптимизаций -
функцию
is_grad_enabled,
которая проверяет, включено ли вычисление градиентов