optim#


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

Bases: Protocol

class OptimizerFactory[source]#

Bases: ABC, ToStringMixin

create_optimizer(module: Module, lr: float) Optimizer[source]#
abstract create_optimizer_for_params(params: Iterable[Tensor] | Iterable[dict[str, Any]], lr: float) Optimizer[source]#
class OptimizerFactoryTorch(optim_class: OptimizerWithLearningRateProtocol, **kwargs: Any)[source]#

Bases: OptimizerFactory

Factory for torch optimizers.

Parameters:
  • optim_class – the optimizer class (e.g. subclass of torch.optim.Optimizer), which will be passed the module parameters, the learning rate as lr and the kwargs provided.

  • kwargs – keyword arguments to provide at optimizer construction

create_optimizer_for_params(params: Iterable[Tensor] | Iterable[dict[str, Any]], lr: float) Optimizer[source]#
class OptimizerFactoryAdam(betas: tuple[float, float] = (0.9, 0.999), eps: float = 1e-08, weight_decay: float = 0)[source]#

Bases: OptimizerFactory

create_optimizer_for_params(params: Iterable[Tensor] | Iterable[dict[str, Any]], lr: float) Optimizer[source]#
class OptimizerFactoryRMSprop(alpha: float = 0.99, eps: float = 1e-08, weight_decay: float = 0, momentum: float = 0, centered: bool = False)[source]#

Bases: OptimizerFactory

create_optimizer_for_params(params: Iterable[Tensor] | Iterable[dict[str, Any]], lr: float) Optimizer[source]#