Spec-Zone.ru › PyTorch 1

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 (последовательность тензоров) – Входы, относительно которых градиент будет накапливаться в .grad. Все остальные тензоры будут игнорироваться. Если не указаны, градиент накапливается во все узловые тензоры, которые использовались для вычисления attr::tensors.

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

Spec-Zone.ru

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