You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just switched from single to multi objective and thought more information would be helpful to prune but unfortunately it is unsupported on the reporting side and then the pruning side has nothing to build on.
Description
Idea: all objectives are multi-objective, even single objective ones, and all of these operate the same way the single objective case works, then there's no special case here, report can insert a row per objective, the pruner can always work on the hypervolume history of reports, which is just the history if it's single objective. The stupidest idea could be to just independently prune each objective the exact same way as before and then
return all(pruned_for_objective(name, trial) for name in objective_names)
that could work to eliminate trials if and only if the pruner prunes them in each objective simultaneously, if the trials make progress on a subobjective, that keeps em alive
Alternatives (optional)
I could make my own custom pruner and just use the intermediate values from my own database but then i need to decide how to make a multiobjective pruner!
Additional context (optional)
test multiobjective reporting
remove the conditional preventing multiobjective reporting
report multi-objective data
test multiobjective pruning
map the pruner over the objective series columns and filter by
e.g. pruned_trials_ser = trials_df[trials_df.map(pruner).all(axis='columns')]
( no progress on all objectives simultaneously )
The text was updated successfully, but these errors were encountered:
bionicles
added
the
feature
Change that does not break compatibility, but affects the public interfaces.
label
Feb 22, 2024
Motivation
I just switched from single to multi objective and thought more information would be helpful to prune but unfortunately it is unsupported on the reporting side and then the pruning side has nothing to build on.
Description
Idea: all objectives are multi-objective, even single objective ones, and all of these operate the same way the single objective case works, then there's no special case here, report can insert a row per objective, the pruner can always work on the hypervolume history of reports, which is just the history if it's single objective. The stupidest idea could be to just independently prune each objective the exact same way as before and then
return all(pruned_for_objective(name, trial) for name in objective_names)
that could work to eliminate trials if and only if the pruner prunes them in each objective simultaneously, if the trials make progress on a subobjective, that keeps em alive
Alternatives (optional)
I could make my own custom pruner and just use the intermediate values from my own database but then i need to decide how to make a multiobjective pruner!
Additional context (optional)
e.g.
pruned_trials_ser = trials_df[trials_df.map(pruner).all(axis='columns')]
( no progress on all objectives simultaneously )
The text was updated successfully, but these errors were encountered: