-
Notifications
You must be signed in to change notification settings - Fork 42
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
Multi trust regions #773
Multi trust regions #773
Conversation
Provide base abstract classes for updateable search space and multi trust region rule. Implement concrete classes for box multi trust region rule.
8b708a5
to
b6ee392
Compare
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.
did a pass, few minor comments for now - but still thinking about the code in rule.py
file, trying to make up my mind about updatable class - are there efficiency gains with that?
@hstojic |
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.
did another round, focusing on the changes in rule
* Use generic search space type for MultiTrustRegionBox * Add some private methods to TrustRegionBox * Add kwargs to reinitialize/update * Use American spelling * Move helper function to utils
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.
(a few minor initial comments while I was reminding myself of the space and optimizer work; will look at the rule next)
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.
(Some initial rule comments in case you want to respond/chat. Will carry on looking.)
* Rename reinitialize to initialize * Replace get_single_model_and_dataset with generic get_value_for_tag; plus update unit tests * Add unit tests for and change get_unique_points_mask implementation as previous version erroneously identified some points as duplicates
Plus revert addition of kwargs
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.
A few minor comments, but generally happy from an engineering persepctive.
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, I have left a bunch of comments, but no major point I think - I'm mostly curious how it would look like when starting to use the new division between the updatable search space and rule class itself, in the sense of subclassing them to create new variants
Related issue(s)/PRs: None
Related branch:
victor/trustregions
Summary
This PR adds support for multi-trust-regions acquisition rule; based-on and refactored from branch
victor/trustregions
.The main classes are:
CollectionSearchSpace
TaggedMultiSearchSpace
CollectionSearchSpace
for collections where all sub-spaces have the same dimensionality. This is the class used for current trust-region rules.TaggedProductSearchSpace
CollectionSearchSpace
.UpdatableTrustRegion
BatchTrustRegion
SingleObjectiveTrustRegionBox
UpdatableTrustRegion
for the algorithm implemented invictor/trustregions
.BatchTrustRegionBox
BatchTrustRegion
for the algorithm implemented invictor/trustregions
.The intention is that whenever a new trust region algorithm is implemented, in most cases, it would be sufficient to simply sub-class
UpdatableTrustRegion
andBatchTrustRegion
.Question: since
SingleObjectiveTrustRegionBox
/BatchTrustRegionBox
is a specific trust-regions implementation, should it be moved to either a separate file or perhaps to a notebook? Is it generally useful?Answer: yes these are useful and should be kept with the rules for now.
An example notebook will be added in a follow-on PR.
Fully backwards compatible: yes
PR checklist