Conversation
Codecov Report
@@ Coverage Diff @@
## master #809 +/- ##
=========================================
Coverage ? 90.13%
=========================================
Files ? 108
Lines ? 8914
Branches ? 0
=========================================
Hits ? 8035
Misses ? 879
Partials ? 0
Continue to review full report at Codecov.
|
0921c30 to
584286b
Compare
sile
left a comment
There was a problem hiding this comment.
Thank you for the swift update. The current design looks good for me.
By the way, I left some minor comments about the code detail.
optuna/pruners/hyperband.py
Outdated
| return self._n_pruners | ||
|
|
||
|
|
||
| class _BracketStudy(Study): |
There was a problem hiding this comment.
Other methods besides get_trials might behaive unexpectedly as they are not filtered. I believe we can either override and raise, or avoid inheriting from Study.
There was a problem hiding this comment.
I tried to disable other methods of Study in a naive way. PTAL.
|
As to (This is the clarification as the discussion is getting long and not accessible.) |
|
Discussed how to compute budgets and allocate trials to brackets with @sile, and one way is to merge this without any modification because
I don't mean we should stop here, merge first without further improvement. From the perspective of the granularity and duration of the PR, merging is one option. |
|
Thank you all for the review and discussion.
Though this PR satisfies the condition to get merged, I'd like to add TODO
comment about resource allocation to brackets.
Thank you for your understanding beforehand.
…On Thu, Jan 9, 2020 at 18:10 Hiroyuki Vincent Yamazaki < ***@***.***> wrote:
***@***.**** approved this pull request.
LGTM!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#809?email_source=notifications&email_token=AD3Q7U5FA7PXESFAHYK5ESTQ43SZ5A5CNFSM4J4IZEZKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCRE3OIY#pullrequestreview-340375331>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD3Q7UY55TF64IPMV3GGTOTQ43SZ5ANCNFSM4J4IZEZA>
.
|
|
Added the TODO. |
Thanks! |
|
Thanks for this implementation! It's awsome! :-) |
This depends on #808The algorithm would behave differently from the paper if the sampler is
TPESamplerbecause there is no way to filter out the trials of brackets other than that of the running trial.Although #785 and #805 are for Hyperband, this PR follows another design policy.The core design of #785 is to realize filtering by adding an attribute that represents pruner to Trial.
It will make
Studymore complex while it can keep the current loosely connected relationship betweenSamplerandPruner.On the other hand, the policy of this PR does not implement any filtering of trials.This means that we will need to add some interaction between
HyperbandPrunerandSampler, especiallyTPESampler.EDIT:
In this implementation, trials are filtered by
bracket_idthat is computed byHyperbandPruner._get_bracket_idand this filtering is enabled by implementing_BracketStudywhich just wrapsStudyfor theHyperbandPruneruse only. The idea is suggested in #809 (comment).