examol.solution¶
Specifications for different solution methods
- class examol.solution.MultiFidelityActiveLearning(starter: ~examol.start.base.Starter = <examol.start.fast.RandomStarter object>, num_to_run: int = Ellipsis, selector: ~examol.select.base.Selector = Ellipsis, scorer: ~examol.score.base.Scorer = Ellipsis, models: list[list[object]] = Ellipsis, minimum_training_size: int = 10, train_options: dict = <factory>, score_options: dict = <factory>, steps: ~typing.Sequence[~typing.Collection[~examol.store.recipes.PropertyRecipe]] = (), pipeline_target: float = 0.1)[source]¶
Bases:
SingleFidelityActiveLearning
Tools needed for solving a multi-fidelity active learning problem
Users must define a series of recipes to be run at each step in the workflow,
steps
. The next step is run each time a molecule is selected for execution. For example, a Thinker would run all recipes in the first step for a molecule for which no data is available and then the second step of recipes after all from the first have completed.The user also specifies a set fraction of entries to progress through each stage, which sets the probability of selecting a certain step in the calculation. For example a
pipeline_target
of 0.1 means that 10% of entries will pass through each stage of the pipeline. We can achieve this target by selecting to run the first stage of the pipeline 10 times more often then the next stage.- get_levels_for_property(recipe: PropertyRecipe) list[PropertyRecipe] [source]¶
Get the list of levels at which we compute a certain property
- steps: Sequence[Collection[PropertyRecipe]] = ()¶
Incremental steps to perform along the way to a maximum level of fidelity
- class examol.solution.SingleFidelityActiveLearning(starter: ~examol.start.base.Starter = <examol.start.fast.RandomStarter object>, num_to_run: int = Ellipsis, selector: ~examol.select.base.Selector = Ellipsis, scorer: ~examol.score.base.Scorer = Ellipsis, models: list[list[object]] = Ellipsis, minimum_training_size: int = 10, train_options: dict = <factory>, score_options: dict = <factory>)[source]¶
Bases:
SolutionSpecification
Tools needed to solve a multi-objective problem using active learning
- generate_functions() list[Callable] [source]¶
Generate functions to be run on compute nodes
- Returns:
List of functions ready for use in a workflow system
- minimum_training_size: int = 10¶
Minimum database size before starting training. Thinkers will run selections from
starter
before them
- class examol.solution.SolutionSpecification(starter: ~examol.start.base.Starter = <examol.start.fast.RandomStarter object>, num_to_run: int = Ellipsis)[source]¶
Bases:
object
Define the components of a solution to a problem