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

Fix ASHA termination condition and branching with fidelity() #274

Merged
merged 4 commits into from
Aug 29, 2019

Conversation

bouthilx
Copy link
Member

Improve documentation of ASHA

Why:

There was no documentation on the fact that ASHA requires the
SubParallelStrategy. There was also no documentation at all about the
parallel strategies...

Stop producer.produce when algo is done

Why:

If an algo is done, but only realizes during an update in produce,
then the algo will opt out indefinitely and the process will crash. This
should be handled and leave gracefully.

How:

Check for algo.is_done at each loop iteration in produce and stop if
True.

Add default_value to fidelity

Why:

The EVC is using the default_value to build adapters. Also this default
value can be used as a fall-back if the algorithms does not support
multi-fidelity optimization. This is handy is we want to try different
algorithms with the same experiment configuration.

Fix ASHA termination condition

Why:

The termination condition was wrong and would stop when the penultimate
rung was filled, making it impossible to ever run the final trial with
max resources.

@bouthilx bouthilx added bug Indicates an unexpected problem or unintended behavior v0.1.6 labels Aug 28, 2019
@bouthilx bouthilx requested review from Delaunay and corneauf August 28, 2019 14:55
@bouthilx bouthilx force-pushed the hotfix/fidelity_branching branch from fd4f94a to 41a3ebf Compare August 28, 2019 15:00
@codecov-io
Copy link

codecov-io commented Aug 28, 2019

Codecov Report

Merging #274 into develop will increase coverage by 0.07%.
The diff coverage is 99.26%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #274      +/-   ##
===========================================
+ Coverage    93.19%   93.26%   +0.07%     
===========================================
  Files          119      120       +1     
  Lines        14392    14512     +120     
  Branches       999     1003       +4     
===========================================
+ Hits         13412    13534     +122     
+ Misses         879      877       -2     
  Partials       101      101
Impacted Files Coverage Δ
src/orion/algo/asha.py 90.97% <100%> (+1.92%) ⬆️
tests/unittests/algo/test_asha.py 100% <100%> (ø) ⬆️
tests/functional/algos/test_algos.py 100% <100%> (ø)
tests/unittests/algo/test_space.py 99.15% <100%> (+0.01%) ⬆️
src/orion/algo/space.py 97.42% <100%> (+0.34%) ⬆️
src/orion/core/worker/__init__.py 100% <100%> (ø) ⬆️
src/orion/core/worker/producer.py 96.29% <100%> (ø) ⬆️
tests/unittests/core/test_producer.py 100% <100%> (ø) ⬆️
tests/functional/branching/test_branching.py 99.15% <80%> (-0.42%) ⬇️
... and 1 more

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 75b5364...b850d93. Read the comment docs.

Why:

There was no documentation on the fact that ASHA requires the
SubParallelStrategy. There was also no documentation at all about the
parallel strategies...
Why:

If an algo is done, but only *realizes* during an update in `produce`,
then the algo will opt out indefinitely and the process will crash. This
should be handled and leave gracefully.

How:

Check for algo.is_done at each loop iteration in `produce` and stop if
True.
Why:

The EVC is using the default_value to build adapters. Also this default
value can be used as a fall-back if the algorithms does not support
multi-fidelity optimization. This is handy is we want to try different
algorithms with the same experiment configuration.
Why:

The termination condition was wrong and would stop when the penultimate
rung was filled, making it impossible to ever run the final trial with
max resources.
@bouthilx bouthilx force-pushed the hotfix/fidelity_branching branch from 41a3ebf to b850d93 Compare August 29, 2019 01:06
@bouthilx bouthilx merged commit 4a5e237 into Epistimio:develop Aug 29, 2019
@bouthilx
Copy link
Member Author

@bouthilx bouthilx mentioned this pull request Sep 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Indicates an unexpected problem or unintended behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants