Shortcuts

torch.autograd.Function.backward

static Function.backward(ctx, *grad_outputs)

定义一个用于反向模式自动微分的操作的微分公式。

此函数应由所有子类重写。 (定义此函数等同于定义 vjp 函数。)

它必须接受一个上下文 ctx 作为第一个参数,后面跟着与 forward() 返回的输出一样多的参数(对于 forward 函数中的非张量输出,将传递 None),并且它应该返回与 forward() 的输入一样多的张量。每个参数是相对于给定输出的梯度,每个返回值应该是相对于相应输入的梯度。如果输入不是张量或是不需要梯度的张量,你可以直接传递 None 作为该输入的梯度。

上下文可以用于检索在前向传递过程中保存的张量。它还具有一个属性 ctx.needs_input_grad,作为布尔值的元组,表示每个输入是否需要梯度。例如, backward() 将在 forward() 的第一个输入需要相对于输出的梯度计算时,设置 ctx.needs_input_grad[0] = True

Return type

任意

优云智算