torch.Tensor.backward
-
Tensor.backward(gradient=None, retain_graph=None, create_graph=False, inputs=None)[source] -
Вычисляет градиент текущего тензора по отношению к узлам графа.
Граф дифференцируется с использованием правила цепи. Если тензор не является скаляром (т.е. его данные содержат более одного элемента) и требует градиент, функция дополнительно требует указания
gradient. Он должен быть тензором соответствующего типа и расположения, содержащим градиент дифференцируемой функции по отношению кself.Эта функция накапливает градиенты в узлах — возможно, вам потребуется обнулить
.gradатрибуты или установить их вNoneперед вызовом. См. Значения по умолчанию для расположения градиентов для получения подробной информации о расположении в памяти накапливаемых градиентов.Примечание
Если вы выполняете какие-либо операции вперед, создаёте
gradient, и/или вызываетеbackwardв контексте потока CUDA, указанном пользователем, см. Семантика потоков обратного распространения.Примечание
Когда
inputsпредоставлены и данный вход не является листом, текущая реализация вызовет его grad_fn (хотя это не строго необходимо для получения градиентов). Это деталь реализации, на которой пользователь не должен полагаться. См. https://github.com/pytorch/pytorch/pull/60521#issuecomment-867061780 для получения дополнительной информации.- Параметры
-
-
gradient (Tensor или None) – Градиент по отношению к тензору. Если это тензор, он будет автоматически преобразован в тензор, который не требует градиента, если
create_graphравно True. Значения None могут быть указаны для скалярных тензоров или тензоров, которые не требуют градиента. Если значение None приемлемо, этот аргумент является необязательным. -
retain_graph (bool, необязательно) – Если
False, граф, используемый для вычисления градиентов, будет освобождён. Обратите внимание, что в почти во всех случаях установка этого параметра в True не требуется и часто может быть обойдена более эффективным способом. По умолчанию принимает значениеcreate_graph. -
create_graph (bool, необязательно) – Если
True, будет построен граф производной, позволяющий вычислять производные высших порядков. По умолчаниюFalse. -
inputs (последовательность из Tensor) – Входы по отношению к которым градиент будет накоплен в
.grad. Все остальные тензоры будут проигнорированы. Если не указано, градиент накапливается во все листовые тензоры, которые использовались для вычисления attr::tensors.
-
gradient (Tensor или None) – Градиент по отношению к тензору. Если это тензор, он будет автоматически преобразован в тензор, который не требует градиента, если
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.Tensor.backward.html