tol=1e-14, verbose=1, line_search=True, callback=cb_tos) trace_nols = np.array([loss(x) for x in cb_tos.trace_x]) all_trace_nols.append(trace_nols) all_trace_nols_time.append(cb_tos.trace_time) out_img.append(tos.x) cb_pdhg = cp.utils.Trace() x0 = np.zeros(n_features) pdhg = cp.minimize_primal_dual(f.f_grad, x0, G1.prox, G2.prox, callback=cb_pdhg, max_iter=max_iter, step_size=step_size, step_size2=(1. / step_size) / 2, tol=0, line_search=False) trace_pdhg = np.array([loss(x) for x in cb_pdhg.trace_x]) all_trace_pdhg.append(trace_pdhg) all_trace_pdhg_time.append(cb_pdhg.trace_time) cb_pdhg_nols = cp.utils.Trace() x0 = np.zeros(n_features) pdhg_nols = cp.minimize_primal_dual(f.f_grad, x0, G1.prox, G2.prox, callback=cb_pdhg_nols,
verbose=1, callback=cb_tos, line_search=False, ) trace_nols = [loss(x, beta) for x in cb_tos.trace_x] all_trace_nols.append(trace_nols) all_trace_nols_time.append(cb_tos.trace_time) cb_pdhg = cp.utils.Trace() x0 = np.zeros(n_features) cp.minimize_primal_dual( f.f_grad, x0, g_prox, h_prox, callback=cb_pdhg, max_iter=max_iter, step_size=step_size, step_size2=(1.0 / step_size) / 2, tol=0, ) trace_pdhg = np.array([loss(x, beta) for x in cb_pdhg.trace_x]) all_trace_pdhg.append(trace_pdhg) all_trace_pdhg_time.append(cb_pdhg.trace_time) # .. plot the results .. f, ax = plt.subplots(2, 3, sharey=False) xlim = [0.02, 0.02, 0.1] for i, beta in enumerate(all_betas): ax[0, i].set_title(r"$\lambda=%s$" % beta) ax[0, i].imshow(out_img[i], interpolation="nearest", cmap=plt.cm.gray)
max_iter=max_iter, tol=0, callback=cb_tos, line_search=False, ) trace_nols = [loss(x, beta) for x in cb_tos.trace_x] all_trace_nols.append(trace_nols) all_trace_nols_time.append(cb_tos.trace_time) cb_pdhg = cp.utils.Trace() cp.minimize_primal_dual( f.f_grad, np.zeros(n_features), g_prox, h_prox, callback=cb_pdhg, max_iter=max_iter, step_size=step_size, step_size2=(1. / step_size) / 2, line_search=False, ) trace_pdhg = np.array([loss(x, beta) for x in cb_pdhg.trace_x]) all_trace_pdhg.append(trace_pdhg) all_trace_pdhg_time.append(cb_pdhg.trace_time) # .. plot the results .. f, ax = plt.subplots(2, 3, sharey=False) xlim = [0.02, 0.02, 0.1] for i, beta in enumerate(all_betas): ax[0, i].set_title(r"$\lambda=%s$" % beta) ax[0, i].imshow(out_img[i], interpolation="nearest", cmap=plt.cm.gray)