opentps.core.processing.planOptimization.acceleration package
Submodules
opentps.core.processing.planOptimization.acceleration.backtracking module
- class Backtracking(eta=0.5, **kwargs)
Bases:
Dummy
Backtracking based on a local quadratic approximation of the smooth part of the objective. This is the backtracking strategy used in the original FISTA paper. Input: eta: (float) A number between 0 and 1 representing the ratio of the geometric
sequence formed by successive step sizes. In other words, it establishes the relation step_new = eta * step_old. Default is 0.5.
Inherits from Dummy. Code from EPFL LTS2 toolbox.
- Variables:
eta (float) – A number between 0 and 1 representing the ratio of the geometric sequence formed by successive step sizes.
opentps.core.processing.planOptimization.acceleration.baseAccel module
- class Accel
Bases:
object
acceleration scheme object interface The instanced objects are meant to be passed to a solver inheriting from “pyOpti.solvers.solver” Code from EPFL LTS2 toolbox.
- post()
Post-processing specific to the acceleration scheme. Mainly used to delete references added during initialization so that the garbage collector can free the memory.
- pre(functions, x0)
Pre-processing specific to the acceleration scheme.
- update_sol(solver, objective, niter)
Update the solution point for the next iteration.
- Parameters:
solver (Solver) – Solver on which to act.
objective (list) – List of evaluations of the objective function since the beginning of the iterative process.
niter (int) – Current iteration number.
- Returns:
sol – Updated solution point.
- Return type:
array
- update_step(solver, objective, niter)
Update the step size for the next iteration
- Parameters:
solver (Solver) – Solver on which to act.
objective (list) – List of evaluations of the objective function since the beginning of the iterative process.
niter (int) – Current iteration number.
- Returns:
step – Updated step size.
- Return type:
float
opentps.core.processing.planOptimization.acceleration.fistaAccel module
- class FistaAccel(**kwargs)
Bases:
Dummy
acceleration scheme for forward-backward solvers. Inherit from Dummy. Code from EPFL LTS2 toolbox.
- Variables:
t (float) – Restart variable t
- class FistaBacktracking(eta=0.5, **kwargs)
Bases:
Backtracking
,FistaAccel
acceleration scheme with backtracking for forward-backward solvers. For details about the acceleration scheme and backtracking strategy, see A. Beck and M. Teboulle, “A fast iterative shrinkage-thresholding algorithm for linear inverse problems”, SIAM Journal on Imaging Sciences, vol. 2, no. 1, pp. 183–202, 2009. Inherit from Backtracking and FistaAccel. Code from EPFL LTS2 toolbox.
opentps.core.processing.planOptimization.acceleration.linesearch module
- class LineSearch(c1=0.0001, c2=0.8, eps=0.0001, **kwargs)
Bases:
Dummy
Backtracking lines earch acceleration based on the Armijo–Goldstein condition, is a line search method to determine the amount to move along a given search direction. It starts withca relatively large estimate of the step size for movement along the search direction, and iteratively shrinking the step size (i.e., “backtracking”) until a decrease of the objective function is observed that adequately corresponds to the decrease that is expected, based on the local gradient of the objective function. Inheriting from Dummy. Code from EPFL LTS2 toolbox.
- Parameters:
c1 (float) – backtracking parameter
c2 (float) – backtracking parameter
eps (float) – (Optional) quit if norm of step produced is less than this