besmarts.core.optimization module¶
besmarts.core.optimization
Optimization of SMARTS hierarchies.
- class besmarts.core.optimization.optimization_iteration(steps)[source]¶
Bases:
object- next() optimization_step[source]¶
- besmarts.core.optimization.optimization_iteration_next(oi) optimization_step[source]¶
- besmarts.core.optimization.optimization_step_copy(step) optimization_step[source]¶
- class besmarts.core.optimization.optimization_strategy(bounds: smarts_perception_config, overlaps=None)[source]¶
Bases:
objectDetermines how to step the optimization forward, choosing which hyperparameters to try next. The steps are divided into macro and micro iterations, where the (best) nodes are created given the candidates produced by a single macro step consisting of one more micro steps.
- MERGE = -1¶
- MODIFY = 0¶
- SPLIT = 1¶
- macro_iteration(clusters: List[tree_node]) optimization_iteration[source]¶
Return a list of iterations that form a macro iteration, where we may want to analyze a group of candidates before proceeding to the next level of searching
- Parameters:
clusters (List[trees.tree_node]) – The nodes of a trees.tree_index to consider in the step
- Return type:
- besmarts.core.optimization.optimization_strategy_build_macro_iterations(strat: optimization_strategy)[source]¶
- besmarts.core.optimization.optimization_strategy_iteration_next(oi: optimization_strategy, clusters: List[tree_node]) optimization_iteration[source]¶
- besmarts.core.optimization.optimization_strategy_restart(os: optimization_strategy)[source]¶