-
Notifications
You must be signed in to change notification settings - Fork 33
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
Add HEBO sampler supporting Define-by-Run manner, maximization, parallelization, and constant_liar #195
Conversation
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.
Thank you for the PR!
I left some comments!
@@ -0,0 +1,3 @@ | |||
optuna | |||
optunahub | |||
hebo@git+https://github.com/huawei-noah/[email protected]#subdirectory=HEBO |
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.
How about using hebo?
hebo@git+https://github.com/huawei-noah/HEBO.git@v0.3.6#subdirectory=HEBO | |
hebo==0.3.6 |
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.
This is the exact same code as the preceding HEBO package, so I would prefer to maintain it.
if len([t for t in trials if t.state == TrialState.COMPLETE]) < 1: | ||
return {} |
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.
I think it would be better to use hebo.suggest
even if we do not have completed trials, because hebo.suggest
uses qmc if I remember correctly.
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.
This sampler does not call hebo.suggest()
here because it needs to know search space by running the first trial.
(It uses BaseSampler
, so search space is not given.)
I have added comment about this in the code.
Co-authored-by: Shuhei Watanabe <[email protected]>
Co-authored-by: Shuhei Watanabe <[email protected]>
Co-authored-by: Yoshihiko Ozaki <[email protected]>
I will close this PR and make new PR, which adds these functionalities to existing HEBO package. |
Contributor Agreements
Please read the contributor agreements and if you agree, please click the checkbox below.
Tip
Please follow the Quick TODO list to smoothly merge your PR.
Motivation
I would like to see a HEBO implementation that can drop-in replacement of Sampler in Optuna code that is written in Define-by-Run (its search space is not conditional).
I also want it to support parallelization.
Description of the changes
Add another package of HEBO.
TODO List towards PR Merge
Please remove this section if this PR is not an addition of a new package.
Otherwise, please check the following TODO list:
./template/
to create your package<COPYRIGHT HOLDER>
inLICENSE
of your package with your nameREADME.md
in your package__init__.py
from __future__ import annotations
at the head of any Python files that include typing to support older Python versionsREADME.md
README.md