in experiments/momentum_regimes.py [0:0]
def run_constant_momentum(self):
run_name = "cst_mom" # constant momentum setting
algo_mode = "mom"
# REF: N Loizou paper
mom_beta = 0.5 # constant momentum parameter
step_size = 1.0 # constant step size TODO: justify
mom_eta = None
cst_mom_times = defaultdict(list)
cst_mom_residual_norms = {}
counter = 1 + len(self.solvers) * len(self.sketch_sizes)
n_settings = 3 * len(self.solvers) * len(self.sketch_sizes)
for solver in self.solvers:
for i, sketch_size in enumerate(self.sketch_sizes):
sketch_size_formula = self.sketch_size_formulas[i]
print(
f"----> Setting {counter} over {n_settings} :\n"
f"{run_name} / {algo_mode} / {solver} / "
f"sketch_size = {sketch_size_formula} = {sketch_size}"
)
(
times_distribution,
residual_norms_distribution,
) = self.compute_fit_time_and_residual(
solver, sketch_size, algo_mode, step_size, mom_beta, mom_eta,
)
# Storing the results
self.book_keeping(
run_name,
solver,
sketch_size_formula,
sketch_size,
times_distribution,
residual_norms_distribution,
cst_mom_times,
cst_mom_residual_norms,
)
counter += 1
print("\n")
return cst_mom_times, cst_mom_residual_norms