loss_component#

Base class for Autograd Components that can be called and backpropagated through.

Classes

LossComponent(*args, **kwargs)

A base class to define interfaces for an auto-grad component/operator.

class LossComponent(*args, **kwargs)[source]#

Bases: Component

A base class to define interfaces for an auto-grad component/operator.

Compared with Component, GradComponent defines three important interfaces: - forward: the forward pass of the function, returns a Parameter object that can be traced and backpropagated. - backward: the backward pass of the function, updates the gradients/prediction score backpropagated from a “loss” parameter. - set_backward_engine: set the backward engine(a form of generator) to the component, which is used to backpropagate the gradients.

The __call__ method will check if the component is in training mode, and call the forward method to return a Parameter object if it is in training mode, otherwise, it will call the call method to return the output such as “GeneratorOutput”, “RetrieverOutput”, etc.

backward_engine: BackwardEngine#
set_backward_engine(backward_engine: BackwardEngine, *args, **kwargs)[source]#
forward(*args, **kwargs) Parameter[source]#

Default just wraps the call method.

backward(*args, **kwargs)[source]#