Spec-Zone.ru › PyTorch 2

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.

© 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

Spec-Zone.ru

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