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