elicit.optimization module

Contents

elicit.optimization module#

elicit.optimization.sgd_training(expert_elicited_statistics: Dict[str, Tensor], prior_model_init: Priors, trainer: Trainer, optimizer: Dict[str, Any], model: Dict[str, Any], targets: List[Target], parameters: List[Parameter], seed: int) Tuple[dict, dict][source]#

Wrapper that runs the optimization algorithms for E epochs.

Parameters:
expert_elicited_statisticsdict

expert data or simulated data representing a prespecified ground truth.

prior_model_initclass instance

instance of a class that initializes and samples from the prior distributions.

trainer: dict

dictionary including settings specified with elicit.elicit.trainer()

optimizer: dict

dictionary including settings specified with elicit.elicit.optimizer()

model: dict

dictionary including settings specified with elicit.elicit.model()

targets: list[dict]

list of target quantities specified with elicit.elicit.target()

parameterslist[dict]

list of model parameters specified with elicit.elicit.parameter().

seedint

internally used seed for reproducible results

Returns:
res_ep: dict

results saved for each epoch (history)

output_res: dict

results saved for the last epoch (results)

Raises:
ValueError

Training has been stopped because loss value is NAN.