-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frank-Wolfe patch release might have broken InferOpt tests #387
Comments
hi @gdalle, that's a very good point, we fixed some behavior in these two PRs and they would change the trajectory for the two corresponding functions away and standard FW respectively |
these two PRs can reduce the gap tolerance, so might it be that the linear solve step is assuming some quasi optimality (up to numerical tolerance) instead of using the final gap? |
Indeed since we're using away FW it was the fault of PR #383. Our default parameters included a not-so-small epsilon (1e-2), so now that it's actually taken into account the optimization doesn't work as well. I brought epsilon down to 1e-4, but then I faced this warning from the adaptive line search:
It's not very clear what to do for an outsider, so I looked at the code and decided to switch back to agnostic line search. Now it works 🥳 |
perfect. Yes the line search warning occurs when there are numerical troubles in the line search |
Hey @gdalle, first of all thanks for reaching out. I would like to add a couple of comments to the discussion:
In short: can you work with us to figure out what exactly the issue with warning so that we can improve the numerical stability of the adaptive line search. As a first step, it would be great if @matbesancon can reproduce the warning on our end and maybe you can also tell us a little bit about the function and feasible region. Thanks! |
hi @gdalle, if the issue still comes up, we improved reliability of the line search in numerically harder problems, ping me on slack if this still occurs and we should be able to work through it and see if we can get back to a fast-convergence line search |
Cool thanks, which release would that be? I'll give it a go |
either master now, or the latest release 0.2.31 with |
Noice. Will try and report back |
ping @BatyLeo |
@gdalle what's the status here? |
Tring it out in the PR above. First I'm removing the agnostic line search (which should error as before), then I'll activate |
@gdalle update on this: we changed the algorithm performed in |
the old step size is |
Good to know! Gonna throw the baby to @BatyLeo on this one |
@gdalle It seems the [compat] section of |
@BatyLeo What is the status here? |
FrankWolfe.Adaptive seems to no longer break our tests: JuliaDecisionFocusedLearning/InferOpt.jl#116 |
Okay perfect, let me close this issue then, thanks! |
Hi there @matbesancon and friends,
My colleagues and I recently noticed failing tests for InferOpt.jl, even though our code hasn't changed at all. A careful comparison between the last successful CI run and the first failed CI run seems to suggest that patch releases of FrankWolfe.jl might have played a part, especially PRs #383 or #385. Our tests have to do with implicit differentiation of Frank-Wolfe outputs following this paper. The new bug we found is that the linear solver (GMRES) used within the implicit function theorem sometimes fails to converge. Could one of the two PRs I mentioned have altered your package behavior enough to cause this?
The text was updated successfully, but these errors were encountered: