Conversation
mathurinm
left a comment
There was a problem hiding this comment.
Thanks Hippolyte, a few comments on variable names.
Do you have results on simple datasets to share ?
solvers/fista_automatic_restart.py
Outdated
| F_tab = np.zeros(int(n_iter/(2*C))+2) | ||
| i_glob = 0 | ||
| i_int = 0 | ||
| counter = 0 |
There was a problem hiding this comment.
can you try to have more explicit names like outer_iteration, inner_iteration etc?
|
Thank you for your comments I will correct that quickly! |
tomMoral
left a comment
There was a problem hiding this comment.
A few comments but overall this is nice.
I am wondering if it would make sense to only compute the loss only after the restart, in the outer while loop? this would simplify the use of the callback.
tomMoral
left a comment
There was a problem hiding this comment.
This looks good! :) A few more comments to make the code clearer.
Did you run a few benchmarks? Can you share one or 2 convergence curves (maybe with celer and modopt-fista['greedy']?
|
"I am wondering if it would make sense to only compute the loss only after the restart, in the outer while loop? this would simplify the use of the callback." |
|
I get a few division by zero errors, do you know where they come from @HippolyteLBRRR ? |
I think that it comes from the fact that for a sufficient number of iterations, the value of the loss function does not vary much between two restarts. Consequently objectives[1:-1]-objectives[-1] (or F_tab[1:n_restarts] - last_F in the old version) may have some small coefficient which are interpreted as zeros. It does not have negative consequences on the algorithm as far as I know. |
|
Nice!! :) Could you run the algorithm on larger datasets and with small |



No description provided.