Print debug also in initial iteration#552
Conversation
|
For example I am not sure about this: Manopt.jl/src/plans/proximal_plan.jl Line 284 in 7373e5b and this: Manopt.jl/src/plans/primal_dual_plan.jl Line 735 in 7373e5b and the other ones in primal_dual_plan.jl |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #552 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 91 91
Lines 9976 9975 -1
=========================================
- Hits 9976 9975 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Thanks! A small problem might be consistency. I do not mean to prior prints – to me it is fine to “break” old code in this sense, since it just breaks what is seen in the print. Until now only the cost was printed at the beginning, now you chose a slightly larger set. The two you mentioned, I think could be printed. Furthermore:
(i.e. excluding the warnings and times)? I do not have an answer yet, but we could either
One simple idea, which however expands on complexity of using these symbols would be tuples of symbol and bool (or even a pair?) just a few ideas. If you feel this is too complicated, we stick to just choosing a new default what to print at init. PS: Cool that you directly adopted mentioning the PR in the changelog :) |
|
I'm definitely in favor of consistency. I also like the possibility of customization. Since many of the
So the only one for which I would change the default it |
|
Thanks for the great overview; sure we can keep the symbols as is, one can always also just pass the full From you list all sounds great! I shortly thought about naming and checked with Mateusz. We think Would maybe With that and your comprehensive, good overview and list – yes great! Let's do that :) |
|
Yes, |
|
I added
proximal_plan.jl:
primal_dual_plan.jl:
first_order_plan.jl:
proximal_bundle_method.jl:
So I would change |
|
Looks good to me, just two small comments:
|
|
|
I do not think so, because the default debug is done after a run, if I remember correctly, so after the first iteration the steps size should be fine and probably different. |
|
Ah, I see. So in order to get the initial step size, would |
|
If I remember correctly the last stepsize at k=0 should return the initial one, yes. |
|
Tests pass. So this is ready for a review from my point of view, @kellertuer. Thanks for your input, @kellertuer. |
Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>
…shuaLampert/Manopt.jl into print-debug-initial-iteration
|
Oh, the code looks fine but you seem to have broken the tests? edit: Ah I see; yes, those two tests check what is printed in the initial step and there we now print also the iterate / something. You could check and set their |
|
Yes, I also just saw this. The tests test for the printed output, which has now changed. Should I change the reference string or construct the necessary |
|
I just realized that the failing tests came from |
* fix early stopping in StopWhenRepeated * changelog * bump version
Addresses the discussion started at #544 (comment). I went through the different debug options and enabled printing at the initial value for those I evaluated it would make sense to print the debug statement at the first iteration. If anything is missing or you don't think it makes sense to print it already at the initial value, I am open to adapt that. The only one I would like to keep is the feasibility one.