Spec-Zone.ru › PyTorch 2.14

torch.Tensor.backward

Tensor.backward(gradient=None, retain_graph=None, create_graph=False, inputs=None) [исходный код]

Вычисляет градиент текущего тензора относительно листьев графа.

Граф дифференцируется с помощью цепного правила. Если тензор не является скаляром (то есть содержит более одного элемента) и для него требуется градиент, функция также требует указать gradient. Это должен быть тензор соответствующего типа и формы, представляющий градиент дифференцируемой функции относительно self.

Эта функция накапливает градиенты в листьях — перед её вызовом может потребоваться обнулить атрибуты .grad или установить для них значение None. Подробную информацию о расположении в памяти накапливаемых градиентов см. в разделе Расположение градиентов по умолчанию.

Примечание

Если вы выполняете какие-либо операции прямого прохода, создаёте gradient и/или вызываете backward в контексте пользовательского потока CUDA, см. раздел Семантика потоков при обратном проходе.

Примечание

Если указаны inputs, а данный вход не является листом, текущая реализация вызовет его grad_fn (хотя для получения этих градиентов это строго не требуется). Это деталь реализации, на которую пользователю не следует полагаться. Подробнее см. pytorch/pytorch#60521.

Параметры:
  • gradient (Tensor, optional) – Градиент дифференцируемой функции относительно self. Этот аргумент можно не указывать, если self является скаляром. По умолчанию — None.
  • retain_graph (bool, optional) – Если False, граф, использованный для вычисления градиентов, будет освобождён; если True — сохранён. По умолчанию используется None, и в этом случае значение определяется на основе create_graph (то есть граф сохраняется только при запросе отслеживания производных высших порядков). Обратите внимание: почти во всех случаях устанавливать этот параметр в True не требуется, и зачастую этого можно добиться гораздо эффективнее другим способом.
  • create_graph (bool, optional) – Если True, будет построен граф производной, что позволит вычислять произведения производных высших порядков. По умолчанию — False.
  • inputs (Sequence[Tensor] or dict[str, Tensor], optional) – Входы, для которых градиент будет накапливаться в .grad. Все остальные тензоры будут игнорироваться. Если параметр не указан, градиент накапливается во всех листовых тензорах, использованных для вычисления tensors. Также принимается словарь тензоров (например, dict(model.named_parameters())). По умолчанию — None.

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.Tensor.backward.html

Spec-Zone.ru

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