no_grad
-
class torch.no_grad[source] -
Контекстный менеджер, отключающий вычисление градиентов.
Отключение вычисления градиентов полезно для работы с выводами, когда вы уверены, что не будете вызывать
Tensor.backward(). Это позволит уменьшить потребление памяти для вычислений, которые в противном случае имели быrequires_grad=True.В этом режиме результат каждого вычисления будет иметь
requires_grad=False, даже если входные данные имеютrequires_grad=True.Этот контекстный менеджер локален для потока; он не повлияет на вычисления в других потоках.
Также работает как декоратор. (Убедитесь, что вы создаёте его с круглыми скобками.)
Примечание
no_grad — это один из нескольких механизмов, которые могут включить или отключить градиенты локально. Смотрите Локальное отключение вычисления градиента для получения дополнительной информации о том, как они сравниваются.
Примечание
Этот API не применим к вычислению AD вперёд. Если вы хотите отключить вычисление AD вперёд для вычисления, вы можете распаковать свои дуальные тензоры.
- Пример::
-
>>> x = torch.tensor([1.], requires_grad=True) >>> with torch.no_grad(): ... y = x * 2 >>> y.requires_grad False >>> @torch.no_grad() ... def doubler(x): ... return x * 2 >>> z = doubler(x) >>> z.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.no_grad.html