-
Notifications
You must be signed in to change notification settings - Fork 2
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
gp sampler: GPy -> scikit-learn #69
Conversation
c97ac3b
to
531a97a
Compare
Codecov Report
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #69 +/- ##
==========================================
+ Coverage 91.36% 91.38% +0.01%
==========================================
Files 42 42
Lines 1737 1729 -8
==========================================
- Hits 1587 1580 -7
+ Misses 150 149 -1
|
531a97a
to
3bdeb7c
Compare
@@ -37,6 +37,7 @@ | |||
batch_id # unused variable (black_it/schedulers/base.py:77) | |||
batch_id # unused variable (black_it/schedulers/round_robin.py:47) | |||
MABEpsilonGreedy # unused class (black_it/schedulers/rl/agents/epsilon_greedy.py:26) | |||
seed # unused variable (black_it/schedulers/rl/envs/base.py:59) |
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.
for some reason this vulture error was activated after the first commit of this PR.
fe677e7
to
21a93ad
Compare
BREAKING CHANGE: This commit updates the implementation of GaussianProcessSampler. Instead of relying on GPy, now we use the implementation of Gaussian Processes provided by the scikit-learn package. The change introduces a different behaviour of the GaussianProcessSampler, even if the same random seed is provided. This is witnessed by the updated expected sampled parameters and losses in tests/test_calibrator.py. Another notable difference is in the keyword arguments for the GaussianProcessSampler class constructor. In particular: - the keyword argument 'max_iters' has been removed - the keyword argument 'jitter' has been added.
21a93ad
to
01447d4
Compare
self.max_iters = max_iters | ||
self.optimize_restarts = optimize_restarts | ||
self.acquisition = acquisition | ||
self._gpmodel: Optional[GPRegression] = None | ||
self.jitter = jitter |
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.
optimize_restarts
, acquisition
and jitter
should be protected attributes. We can fix this in another PR.
Thank you @marcofavoritobi @muxator! Merging now |
Proposed changes
I change the backend of the GPSampler using the scikit-learn implementation instead of the GPy one.
Fixes
This also solves #36.
Types of changes
What types of changes does your code introduce?
Put an
x
in the boxes that apply