besmarts.core.optimization module

besmarts.core.optimization

Optimization of SMARTS hierarchies.

class besmarts.core.optimization.optimization_iteration(steps)[source]

Bases: object

is_done() bool[source]
next() optimization_step[source]
repeat_step()[source]
besmarts.core.optimization.optimization_iteration_is_done(oi)[source]
besmarts.core.optimization.optimization_iteration_next(oi) optimization_step[source]
besmarts.core.optimization.optimization_iteration_repeat_step(oi)[source]
class besmarts.core.optimization.optimization_step[source]

Bases: object

copy()[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: object

Determines 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
build_steps()[source]
is_done() bool[source]
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:

optimization_step

repeat_step()[source]

Repeat the last macro iteration by returning the same optimization_iteration in the next call to macro_iteration

restart()[source]
besmarts.core.optimization.optimization_strategy_build_macro_iterations(strat: optimization_strategy)[source]
besmarts.core.optimization.optimization_strategy_is_done(os) bool[source]
besmarts.core.optimization.optimization_strategy_iteration_next(oi: optimization_strategy, clusters: List[tree_node]) optimization_iteration[source]
besmarts.core.optimization.optimization_strategy_repeat_step(oi)[source]
besmarts.core.optimization.optimization_strategy_restart(os: optimization_strategy)[source]