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

docs: Tutorial on experimentation #705

Merged
merged 7 commits into from
Jun 5, 2023
Merged

docs: Tutorial on experimentation #705

merged 7 commits into from
Jun 5, 2023

Conversation

mseeger
Copy link
Collaborator

@mseeger mseeger commented Jun 2, 2023

Tutorial on experimentation in Syne Tune, as presented in the BER science review.

This is purely documentation along with an example, no code changes


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@mseeger mseeger added the documentation Improvements or additions to documentation label Jun 2, 2023
@mseeger mseeger requested a review from aaronkl June 2, 2023 08:26
@codecov
Copy link

codecov bot commented Jun 2, 2023

Codecov Report

Patch coverage has no change and project coverage change: -0.42 ⚠️

Comparison is base (913bedd) 65.57% compared to head (39b745f) 65.16%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #705      +/-   ##
==========================================
- Coverage   65.57%   65.16%   -0.42%     
==========================================
  Files         406      421      +15     
  Lines       28216    28414     +198     
==========================================
+ Hits        18504    18517      +13     
- Misses       9712     9897     +185     
Impacted Files Coverage Δ
benchmarking/nursery/demo_experiment/baselines.py 0.00% <0.00%> (ø)
...g/nursery/demo_experiment/benchmark_definitions.py 0.00% <0.00%> (ø)
benchmarking/nursery/demo_experiment/hpo_main.py 0.00% <0.00%> (ø)
...chmarking/nursery/demo_experiment/launch_remote.py 0.00% <0.00%> (ø)
...nchmarking/nursery/demo_experiment/plot_results.py 0.00% <0.00%> (ø)
...e/optimizer/schedulers/hyperband_cost_promotion.py 100.00% <ø> (ø)
...ulers/searchers/bayesopt/models/cost/cost_model.py 54.28% <ø> (ø)
...ers/searchers/bayesopt/models/sklearn_predictor.py 86.66% <ø> (ø)
...schedulers/searchers/bayesopt/sklearn/predictor.py 71.42% <ø> (ø)
...optimizer/schedulers/searchers/gp_fifo_searcher.py 100.00% <ø> (ø)

... and 19 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@mseeger mseeger requested a review from wesk June 2, 2023 19:49
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should this tutorial show up in the left-hand sidebar on the docs site? I was only able to find it by searching for it.

(I was looking at the version of the docs rendered from this PR)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ups, sorry

Comment on lines 91 to 93
:func:`~benchmarking.commons.hpo_main_simulator.main`,
:func:`~benchmarking.commons.hpo_main_local.main`,
:func:`~benchmarking.commons.hpo_main_sagemaker.main`, depending on the trial
Copy link
Collaborator

Choose a reason for hiding this comment

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

This renders in such a way that you can't actually see which main is which:

Screen Shot 2023-06-05 at 11 16 03 AM

@mseeger
Copy link
Collaborator Author

mseeger commented Jun 5, 2023

Damn! The CI is flakey again:

  • tst/schedulers/test_botorch.py
  • tst/trial_backend/test_local_trial_backend.py

@wesk
Copy link
Collaborator

wesk commented Jun 5, 2023

For some reason the left sidebar still wasn't showing up for me on the previous build -- seems like something is still funky with the page structure

@mseeger
Copy link
Collaborator Author

mseeger commented Jun 5, 2023

For me, it works: "Rapid Experimentation with Syne Tune"

also retrieve extra results. This method returns a dictionary, whose
"extra_results" entry is what we need.

Advanced Experimenteering
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is the spelling of Experimenteering intentional?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I change it

You do not have to re-run baselines, but can easily combine older results
with more recent ones. This is explained
`here <../visualization/comparisons.html#combining-sesults-from-multiple-studies>`__.
* When running many experiments, some will fail. Syne Tune supports you in not
Copy link
Collaborator

Choose a reason for hiding this comment

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

some will fail

Not actionable for this PR, but I'd be interested to learn where the failures come from, and if there's anything we can do about them. (Syne Tune problem, or SageMaker problem, or user error, or other?)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'll change to "may fail".

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is indeed quite rare. But I've even seen things where dataset files could not be downloaded.

Another thing happening to me is that experiments for a method are failing, because there is a bug, but they work for all others.

If you are very careful and always test everything locally etc., this is unlikely. But sometimes, a bug only appears quite later.

@@ -22,7 +18,7 @@
import syne_tune


sys.path.insert(0, os.path.abspath("."))
sys.path.insert(0, os.path.abspath("../../"))
Copy link
Collaborator

Choose a reason for hiding this comment

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

What changed?

The path was just the . since December

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

No idea. But I recall there was something mentioned recently, that something with imports changed.

Anyway, I suppose what we had before was working due to some legacy reason, and somebody switched it off.

I have to admit, I have little clue about this conf.py, I just look at what Renate is doing.

@mseeger mseeger merged commit f031e6f into main Jun 5, 2023
@mseeger mseeger deleted the example_experiment2 branch June 5, 2023 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants