Skip to content
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

Batch trust regions implementation of TURBO #791

Merged
merged 71 commits into from
Dec 18, 2023
Merged

Conversation

khurram-ghani
Copy link
Collaborator

@khurram-ghani khurram-ghani commented Oct 17, 2023

Related issue(s)/PRs: None

Summary

This PR adds a TURBO implementation based on the new batch-trust-region classes and replaces the original TURBO implementation.

The entry point filter_datasets in acquisition rules from the earlier local-models PR is called after acquisition and observation of new query-points, but before model training. Trust region algorithms do not update their regions in acquire anymore, instead the update is now in this new method. This enables the behaviour of the new TURBOBox class to match the previous TURBO implementation.

Existing notebook, unit tests and integration tests have been updated to use the new classes. The trust_region notebook shows how local models can be used with TURBOBox.

Fully backwards compatible: no

We have agreed that we don't need backwards compatibility.

Previously, a TURBO rule was created like this:

rule = TURBO(search_space)

This will need to be replaced with the following:

rule = BatchTrustRegionBox(TURBOBox(search_space))

PR checklist

  • The quality checks are all passing
  • The bug case / new feature is covered by tests
  • Any new features are well-documented (in docstrings or notebooks)

@khurram-ghani khurram-ghani marked this pull request as ready for review November 29, 2023 19:57
Copy link
Collaborator

@uri-granta uri-granta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(still looking but a few initial comments as I might not get a chance to get back to this before tomorrow)

trieste/acquisition/rule.py Show resolved Hide resolved
trieste/acquisition/utils.py Outdated Show resolved Hide resolved
trieste/ask_tell_optimization.py Outdated Show resolved Hide resolved
trieste/ask_tell_optimization.py Show resolved Hide resolved
trieste/acquisition/utils.py Outdated Show resolved Hide resolved
trieste/ask_tell_optimization.py Outdated Show resolved Hide resolved
@uri-granta uri-granta self-requested a review November 30, 2023 11:27
Copy link
Collaborator

@uri-granta uri-granta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(A few more comments...)

trieste/bayesian_optimizer.py Outdated Show resolved Hide resolved
trieste/bayesian_optimizer.py Outdated Show resolved Hide resolved
trieste/experimental/plotting/plotting.py Outdated Show resolved Hide resolved
trieste/acquisition/rule.py Outdated Show resolved Hide resolved
trieste/acquisition/rule.py Outdated Show resolved Hide resolved
trieste/acquisition/rule.py Show resolved Hide resolved
Base automatically changed from khurram/local_models to develop December 14, 2023 12:34
@khurram-ghani khurram-ghani merged commit cf09b0f into develop Dec 18, 2023
12 checks passed
@khurram-ghani khurram-ghani deleted the khurram/batch_turbo branch December 18, 2023 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants