РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
76 of 769 menu

Атрибут requires_grad

Атрибут requires_grad класса Tensor в PyTorch определяет, будет ли тензор отслеживать операции для автоматического дифференцирования. По умолчанию этот атрибут установлен в False. Если установить requires_grad=True, то все операции с тензором будут запоминаться, и впоследствии можно будет вычислить градиенты с помощью метода backward. Это важно для обучения нейросетей, где нужно обновлять веса модели.

Синтаксис

tensor.requires_grad

Пример

Давайте создадим тензор и проверим значение атрибута requires_grad по умолчанию:

import torch t = torch.tensor([1, 2, 3, 4, 5]) print(t.requires_grad)

Результат выполнения кода:

False

Пример

Теперь создадим тензор с включенным отслеживанием градиентов:

import torch t = torch.tensor([1, 2, 3, 4, 5], requires_grad=True) print(t.requires_grad)

Результат выполнения кода:

True

Пример

В этом примере мы создадим два тензора с включенным отслеживанием градиентов, выполним сложение и вызовем backward для вычисления производных:

import torch t1 = torch.tensor([1.0, 2.0, 3.0], requires_grad=True) t2 = torch.tensor([4.0, 5.0, 6.0], requires_grad=True) res = t1 + t2 res.mean().backward() print(t1.grad) print(t2.grad)

Результат выполнения кода:

tensor([0.3333, 0.3333, 0.3333]) tensor([0.3333, 0.3333, 0.3333])

Пример

Можно изменить значение requires_grad у уже существующего тензора с помощью метода requires_grad_:

import torch t = torch.tensor([1, 2, 3, 4, 5]) print(t.requires_grad) t.requires_grad_(True) print(t.requires_grad)

Результат выполнения кода:

False True

Пример

Если создать тензор с помощью операции над другим тензором, то атрибут requires_grad наследуется автоматически:

import torch t = torch.tensor([1.0, 2.0, 3.0], requires_grad=True) res = t * 2 print(res.requires_grad)

Результат выполнения кода:

True

Смотрите также

  • атрибут grad,
    который хранит вычисленный градиент тензора
  • метод backward,
    который выполняет обратное распространение градиента
  • метод detach,
    который отключает тензор от графа вычислений
  • метод requires_grad_,
    который изменяет значение атрибута на месте
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить