bartorch.optim.PRIDU#
- class bartorch.optim.PRIDU(regularizers=None, *, maxiter=30, step=0.95, sigma_tau_ratio=1.0, adaptive_step=False, eigen=False, hogwild=False, cclambda=0.0, precond=None)#
Primal-dual iteration (
pics --pridu).- Parameters:
regularizers (Regularizer or iterable of Regularizer, optional) – Terms from
bartorch.prox.maxiter (int)
step (float) – Step size (
pics -s); 0.95 is whatpicsuses when none is given.sigma_tau_ratio (float) – Ratio of the dual to the primal step:
sigma = sqrt(step) * ratio,tau = sqrt(step) / ratio.picssets it to the scaling it divided the data by, so passdata_scaling()’s value to match the tool.adaptive_step (bool) – Adapt the steps during the iteration (
pics --adaptive_stepsize).eigen (bool) – Scale the step by the largest eigenvalue of the normal operator, estimated with 30 power iterations (
pics -e).hogwild (bool) – Decay the steps by a factor of 0.95 (
pics -H).cclambda (float) – Weight of an identity added to the normal operator (
pics -q).
- __init__(regularizers=None, *, maxiter=30, step=0.95, sigma_tau_ratio=1.0, adaptive_step=False, eigen=False, hogwild=False, cclambda=0.0, precond=None)#
Methods
__init__([regularizers, maxiter, step, ...])fixed_point(image_shape, *[, trainable])This solver as a deep-equilibrium model: the step's fixed point.
in_library(y, A[, x0])Solve with BART's own loop, without crossing back into Python.
unrolled(image_shape, *[, trainable])This solver as a network of
maxitersteps, trained end to end.