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

hyperband fixes #363

Merged
merged 4 commits into from
Mar 23, 2020
Merged

hyperband fixes #363

merged 4 commits into from
Mar 23, 2020

Conversation

donglinjy
Copy link
Collaborator

@donglinjy donglinjy commented Mar 18, 2020

This PR include below fixes for Hyerband:

  • Compute budgets does not output the same table as the original paper
    Fix: Besides the fix, also add a debug log to show the budget table like this:

image

  • Duplicate points in a single hyperband execution will cause some points been tried but won't be able to register into the correct budget since we choose bracket one time based on fidelity.
    Fix: Won't allow repeated points in a single hyperband execution. And if the search space is too small to fill the first rungs of all brackets, hyperband won't be able to promote and experiment only run the points of the first rungs and exit.

  • Support to run duplicate points in different hyperband execution only if the later one get bigger fidelity compared with previous execution.

  • When multiple workers run in parallel, there are 2 issues:

    • Some workers won't be able to exit normally when some trials is running and naive algorithm is done but source algorithm is not.
      Fix: Sync the executed number of times from naive algorithm to source.
    • When hyberband.observe with points belong to different hyperband executions, points could be registered to the bracket of a wrong hyperband executions.
      Fix: Try to refresh brackets of hyperband after observe of each point.
  • Add documentation for Hyperband

@bouthilx

@codecov-io
Copy link

codecov-io commented Mar 18, 2020

Codecov Report

Merging #363 into develop will decrease coverage by 0.10%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #363      +/-   ##
===========================================
- Coverage    45.55%   45.45%   -0.11%     
===========================================
  Files           67       67              
  Lines        12270    12245      -25     
  Branches       318      306      -12     
===========================================
- Hits          5590     5566      -24     
+ Misses        6655     6654       -1     
  Partials        25       25              
Impacted Files Coverage Δ
tests/unittests/algo/test_hyperband.py 100.00% <100.00%> (+0.20%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 40cc85d...f18c972. Read the comment docs.

@bouthilx
Copy link
Member

Great! 😃 I will look at the PR in details tonight or tomorrow.

@bouthilx
Copy link
Member

Fixes for Hyperband

:mod:`orion.algo.hyperband.hyperband -- TODO
=================================================
:mod:`orion.algo.hyperband` -- A Novel Bandit-Based Approach to Hyperparameter Optimization
============================================================================================
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
============================================================================================
===========================================================================================

Copy link
Member

@bouthilx bouthilx left a comment

Choose a reason for hiding this comment

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

LGTM beside my few minor comments. Thanks! :)

@donglinjy
Copy link
Collaborator Author

donglinjy commented Mar 20, 2020

Seems only osx test failed, maybe can try restart travis build @bouthilx

@donglinjy
Copy link
Collaborator Author

donglinjy commented Mar 22, 2020

trvais failed again. There seems a potential bug of space transformer when the lower/upper bound value suggested from the original space.

@bouthilx
Copy link
Member

Indeed. I saw this issue in the stress test I am implementing. I should fix it this week.

@bouthilx bouthilx merged commit 0b42cbf into Epistimio:develop Mar 23, 2020
@bouthilx bouthilx added the v0.1.8 label Apr 7, 2020
This was referenced Jun 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants