quri_parts.algo.optimizer.interface module¶
- Params: TypeAlias = 'npt.NDArray[np.float64]'¶
Represents a parameter vector subject to optimization. (A gradient vector is also represented as Params.)
- CostFunction¶
Cost function for optimization.
alias of
Callable[[npt.NDArray[np.float64]],float]
- GradientFunction¶
Gradient function for optimization.
alias of
Callable[[npt.NDArray[np.float64]],npt.NDArray[np.float64]]
- class OptimizerStatus(value)¶
Bases:
EnumStatus of optimization.
- SUCCESS = 1¶
No error, not converged yet.
- FAILED = 2¶
The optimization failed and cannot be continued.
- CONVERGED = 3¶
The optimization converged.
- class OptimizerState(params, cost=0.0, status=OptimizerStatus.SUCCESS, niter=0, funcalls=0, gradcalls=0)¶
Bases:
objectAn immutable (frozen) dataclass representing an optimizer state.
- Parameters:
params (algo.optimizer.interface.Params)
cost (float)
status (OptimizerStatus)
niter (int)
funcalls (int)
gradcalls (int)
- params: Params¶
Current parameter values.
- cost: float = 0.0¶
Current value of the cost function.
- status: OptimizerStatus = 1¶
Optimization status.
- niter: int = 0¶
Number of iterations.
- funcalls: int = 0¶
Number of cost function calls.
- gradcalls: int = 0¶
Number of gradient function calls.
- property n_params: int¶
Number of parameters.
- class Optimizer(*args, **kwargs)¶
Bases:
ProtocolA protocol class for optimizers.
- abstract get_init_state(init_params)¶
Returns an initial state for optimization.
- Parameters:
init_params (algo.optimizer.interface.Params)
- Return type:
- abstract step(state, cost_function, grad_function=None)¶
Run a single optimization step and returns a new state.
- Parameters:
state (OptimizerState)
cost_function (algo.optimizer.interface.CostFunction)
grad_function (algo.optimizer.interface.GradientFunction | None)
- Return type: