torch.autograd.Function.backward
-
static Function.backward(ctx, *grad_outputs)[source] -
Определяет формулу для дифференцирования операции с обратным режимом автоматического дифференцирования (псевдоним для функции vjp).
Эта функция должна быть переопределена всеми подклассами.
Она должна принимать контекст
ctxв качестве первого аргумента, а также столько выходов, сколько вернула функцияforward()(для выходов, которые не являются тензорами из функции forward, будет передано значение None), и должна возвращать столько тензоров, сколько было входов вforward(). Каждый аргумент — это градиент по отношению к соответствующему выходу, а каждое возвращаемое значение — это градиент по отношению к соответствующему входу. Если вход не является тензором или является тензором, не требующим вычисления градиента, можно просто передать None в качестве градиента для этого входа.Контекст может использоваться для извлечения тензоров, сохранённых во время прямого прохода. Он также имеет атрибут
ctx.needs_input_gradв виде кортежа булевых значений, указывающих, требует ли каждый вход вычисления градиента. Например,backward()будет содержатьctx.needs_input_grad[0] = Trueесли первый вход вforward()требует вычисления градиента по отношению к выходу.- Return type:
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.autograd.Function.backward.html