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.
-
gradient (Tensor, optional) – Градиент дифференцируемой функции относительно
© 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