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
Major API Changes for Emitter #207
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Make the directory name be |
btjanaka
requested changes
Jun 15, 2022
btjanaka
reviewed
Jun 17, 2022
btjanaka
reviewed
Jun 20, 2022
ranker, | ||
selector, | ||
evolution_strategy, | ||
restart_rule="no_improvement", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's make a restarter object just like for selectors and rankers.
This was referenced Jun 21, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces major API changes for the
Emitter
class.Emitter
class now requires aRanker
object and aSelector
object.The
Ranker
object will define arank
function which returns the index of the solutions in the descending order that they should be in. It will also define areset
function which resets the internal states of the object.RandomDirectionEmitter
,OptimizingEmitter
, andImprovementEmitter
are now all combined intoEvolutionStrategyEmitter
, which can be configured to use differentRanker
's.We also introduce
FilterSelector
andMuSelector
objects which defines aselect()
function that decides how many parents to select from the potential parents.EvolutionStrategyEmitter(x0, sigma0, ranker=Ranker, string, selector, ES, restart_rule, bounds, batch_size, seed)
If ranker=str, then we create the object for you
TODO
Rankers
EvolutionStrategyEmitter
ImprovementRanker
TwoStageImprovementRanker
RandomDirectionRanker
TwoStageRandomDirectionRanker
ObjectiveRanker
TwoStageObjectiveRanker
get_ranker(str) -> Ranker
Selector
RestartChecker
Others
Status
yapf
pytest
pylint
HISTORY.md
.