kaira.losses.LossRegistry

Inheritance diagram of LossRegistry

Inheritance diagram for LossRegistry

class kaira.losses.LossRegistry[source]

Bases: object

A registry for loss functions in Kaira.

This class provides a centralized registry for all loss functions, making it easier to instantiate them by name with appropriate parameters.

Methods

__init__

create

Create a loss instance by name.

get

Get a loss class by name.

list_losses

List all available losses in the registry.

register

Register a new loss in the registry.

register_loss

Decorator to register a loss class in the registry.

classmethod register(name: str, loss_class: Type[BaseLoss]) None[source]

Register a new loss in the registry.

Parameters:
  • name (str) – The name to register the loss under.

  • loss_class (Type[BaseLoss]) – The loss class to register.

classmethod register_loss(name: str | None = None) Callable[source]

Decorator to register a loss class in the registry.

Parameters:

name (Optional[str], optional) – The name to register the loss under. If None, the class name will be used (converted to lowercase).

Returns:

A decorator function that registers the loss class.

Return type:

callable

classmethod get(name: str) Type[BaseLoss][source]

Get a loss class by name.

Parameters:

name (str) – The name of the loss to get.

Returns:

The loss class.

Return type:

Type[BaseLoss]

Raises:

KeyError – If the loss is not registered.

classmethod create(name: str, **kwargs) BaseLoss[source]

Create a loss instance by name.

Parameters:
  • name (str) – The name of the loss to create.

  • **kwargs – Additional arguments to pass to the loss constructor.

Returns:

The instantiated loss.

Return type:

BaseLoss

classmethod list_losses() list[source]

List all available losses in the registry.

Returns:

A list of loss names.

Return type:

list

__init__()