pypomp.core.optimizer.Optimizer

class pypomp.core.optimizer.Optimizer(clip_norm: float | None = None, scale: bool = False, ls: bool = False, c: float = 0.1, max_ls_itn: int = 10)[source]

Bases: object

Base class for all pypomp optimizers.

Parameters:
  • clip_norm (float, optional) – Maximum norm threshold for gradient clipping. Gradients are clipped to [-clip_norm, clip_norm] if provided. Defaults to None (no clipping).

  • scale (bool, default False) – Whether to normalize the update search direction to unit length before applying the learning rate.

  • ls (bool, default False) – Whether to enable the Armijo backtracking line search algorithm to determine optimal step size.

  • c (float, default 0.1) – The Armijo condition constant for line search, controlling how much the objective must decrease to accept a step size. Only used when ls=True.

  • max_ls_itn (int, default 10) – Maximum number of backtracking iterations per line search step. Only used when ls=True.