-
Notifications
You must be signed in to change notification settings - Fork 34
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
Extended IRPropMin with boundary support and methods to set min and max step size #1465
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1465 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 97 97
Lines 9482 9532 +50
=========================================
+ Hits 9482 9532 +50
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
@DavAug maybe don't review just yet: I think i'll need to change the strategy for step-size shrinking with general boundaries |
OK ready now @DavAug
|
(The strategy is biased against parameters/dimensions with a lower indice: these will get reduced first (even if reducing another parameter would also have worked). I thought a bit about randomisation but that makes this a stochastic method and I don't want to go there. The bias shouldn't matter, I hope: as long as we get to the right solution in the end) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @MichaelClerx this looks very good! I have not reviewed everything yet, but I thought I leave some comments already. I'll have another look tomorrow 😊
Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good @MichaelClerx ! I also think that the step size adjustment for non-rectangular boundaries feels a little clumsy and, as you said, there is definitely bias to move towards smaller index dimensions. But at the same time, I think this will only start to matter once we introduce more complicated boundaries than currently available in pints.
Thanks @DavAug ! I've added the checks and merged it in |
⬆️ that
The boundary support is non-standard and can cause you to get stuck if you have a problematic problem (i.e. gradient next to the boundaries pointing outside). But very useful if you need to avoid evaluating outside some range that causes errors...