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

Release v0.2.2rc1 #794

Merged
merged 119 commits into from
Feb 12, 2022
Merged

Release v0.2.2rc1 #794

merged 119 commits into from
Feb 12, 2022

Conversation

bouthilx
Copy link
Member

Parallelization is improved leveraging new Runner (#684) and a shared algorithm state (#786).

🚀 Features

🏗 Enhancements

🐛 Bug Fixes

📜 Documentation

🧰 Maintenance

Delaunay and others added 30 commits December 1, 2021 10:57
replace count by count_documents #706
Add version v0.2.1 for backward compatibility tests.
They will become part of algorithms instead of being held outside of
them. Algorithms need to handle non completed trials differently.
The parallel strategy will now be part of algorithm configuration. There
is nothing to configure in the producer so it is removed altogether from
experiment configuration.

Any configuration passed for parallel strategy will trigger a warning
and be ignored. It would be too complicated to try to map this to
algorithm arguments for parallel strategies.

Deprecation is planned for v0.4.
Some algorithms may require different parallel strategy for trials of
different status. For instance, a pending trial has a better potential
than a broken trial which should be assigned a very bad objective.
The StatusBasedParallelStrategy can be configured to apply different
strategies based on the trial status.
Due to git protocol modifications for security, the `git:` urls are not
supported anymore when running from github. We need to use https
instead.
Fix Track requirement URL for github
Remove ParallelStrategies from Producer and make them reusable modules for algorithms instead.
The directory was created inside the Consumer which is specific to the
cmdline interface. It should be done inside workon so that the python
and cmdline API uses the same logic. Also the generic WorkingDir class
was not handling directly cases where experiment has or not a defined
working dir. There is no apparent need for a generic class to create
temporary directory so this commit rework the class to handle the
experiment object directly. This also allows to handle in __exit__
resetting experiment.working_dir when it is set temporarily.
Why:

The trial working dir should be unique to the trial and depend on the
experiment's working dir. We can use the id of the trial (or variants
ignoring fidelity, experiment id or lies) to define a unique working
dir.

How:

Instead of setting the working dir directly, we set the experiment's
working dir.
Why:

Now that we can branch a trial we need to keep a trace to the trial's
ancestry. Also, when branching a trial but keeping the same
hyperparameters, it should not lead to the same ID since it is now a
separate trial that will be executed independently. The hash of a trial
will thus also depend on the value of the parent.

How:

For simplicity the parent attribute only reference to the ID of the
parent trial (full id), just like it is done for the reference to the
experiment. We should use a lazy tree node implementation like for the
EVC experiment tree node to reference trial parent object instead of
trial id. This should be done in the future TrialClient class.
Why:

The tree node will be used for PBT and probably for trial objects as
well in the future so it must be generalized.
We need these methods for fast retrievals in the tree in PBT algorithm.
@bouthilx bouthilx added this to the v0.2.2 milestone Feb 11, 2022
@bouthilx bouthilx merged commit 133a069 into master Feb 12, 2022
@bouthilx bouthilx deleted the release-v0.2.2rc1 branch February 12, 2022 00:04
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.

5 participants