nemos.solvers.SolverProtocol#

class nemos.solvers.SolverProtocol(unregularized_loss, regularizer, regularizer_strength, has_aux, init_params=None, **solver_init_kwargs)[source]#

Bases: Protocol, Generic

Protocol mirroring the interface of AbstractSolver.

Implementations can be checked at runtime via isinstance(solver_object, SolverProtocol) and issubclass(solver_class, SolverProtocol).

Parameters:
  • unregularized_loss (Callable)

  • regularizer (Regularizer)

  • regularizer_strength (float | None)

  • has_aux (bool)

  • init_params (Params | None)

  • solver_init_kwargs (Any)

__init__(unregularized_loss, regularizer, regularizer_strength, has_aux, init_params=None, **solver_init_kwargs)[source]#
Parameters:
Return type:

None

Methods

__init__(unregularized_loss, regularizer, ...)

get_accepted_arguments()

init_state(init_params, *args)

run(init_params, *args)

update(params, state, *args)

classmethod get_accepted_arguments()[source]#
Return type:

set[str]

init_state(init_params, *args)[source]#
Return type:

TypeVar(SolverState)

Parameters:
  • init_params (Any)

  • args (Any)

run(init_params, *args)[source]#
Return type:

Tuple[Any, TypeVar(SolverState), TypeVar(Aux)]

Parameters:
  • init_params (Any)

  • args (Any)

update(params, state, *args)[source]#
Return type:

Tuple[Any, TypeVar(SolverState), TypeVar(Aux)]

Parameters:
  • params (Any)

  • state (SolverState)

  • args (Any)