mirtorch.alg.FISTA
- class mirtorch.alg.FISTA(f_grad: Callable, f_L: float, g_prox: Prox, max_iter: int = 10, restart=False, eval_func: Optional[Callable] = None)
Fast Iterative Soft Thresholding Algorithm (FISTA) / Fast Proximal Gradient Method (FPGM)
\[arg \min_x f(x) + g(x)\]where grad(f(x)) is L-Lipschitz continuous and g is proximal-friendly function.
- max_iter
number of iterations to run
- Type:
int
- f_grad
gradient of f
- Type:
Callable
- f_L
L-Lipschitz value of f_grad
- Type:
float
- g_prox
proximal operator g
- Type:
Prox
- restart
restart strategy, not yet implemented
- Type:
Union[…]
- eval_func
user-defined function to calculate the loss at each iteration.
- __init__(f_grad: Callable, f_L: float, g_prox: Prox, max_iter: int = 10, restart=False, eval_func: Optional[Callable] = None)
Methods
__init__
(f_grad, f_L, g_prox[, max_iter, ...])run
(x0)Run the algorithm