autofit.Emcee#
- class autofit.Emcee(name: Optional[str] = None, path_prefix: Optional[str] = None, unique_tag: Optional[str] = None, prior_passer: Optional[autofit.non_linear.abstract_search.PriorPasser] = None, initializer: Optional[autofit.non_linear.initializer.Initializer] = None, auto_correlations_settings=<autofit.non_linear.mcmc.auto_correlations.AutoCorrelationsSettings object>, iterations_per_update: Optional[int] = None, number_of_cores: Optional[int] = None, session: Optional[sqlalchemy.orm.session.Session] = None, **kwargs)[source]#
- __init__(name: Optional[str] = None, path_prefix: Optional[str] = None, unique_tag: Optional[str] = None, prior_passer: Optional[autofit.non_linear.abstract_search.PriorPasser] = None, initializer: Optional[autofit.non_linear.initializer.Initializer] = None, auto_correlations_settings=<autofit.non_linear.mcmc.auto_correlations.AutoCorrelationsSettings object>, iterations_per_update: Optional[int] = None, number_of_cores: Optional[int] = None, session: Optional[sqlalchemy.orm.session.Session] = None, **kwargs)[source]#
An Emcee non-linear search.
For a full description of Emcee, checkout its Github and readthedocs webpages:
https://emcee.readthedocs.io/en/stable/
If you use Emcee as part of a published work, please cite the package following the instructions under the Attribution section of the GitHub page.
- Parameters
name – The name of the search, controlling the last folder results are output.
path_prefix – The path of folders prefixing the name folder where results are output.
unique_tag – The name of a unique tag for this model-fit, which will be given a unique entry in the sqlite database and also acts as the folder after the path prefix and before the search name.
prior_passer – Controls how priors are passed from the results of this NonLinearSearch to a subsequent non-linear search.
initializer – Generates the initialize samples of non-linear parameter space (see autofit.non_linear.initializer).
auto_correlations_settings – Customizes and performs auto correlation calculations performed during and after the search.
number_of_cores – The number of cores Emcee sampling is performed using a Python multiprocessing Pool instance. If 1, a pool instance is not created and the job runs in serial.
session – An SQLalchemy session instance so the results of the model-fit are written to an SQLite database.
Methods
__init__
([name, path_prefix, unique_tag, …])An Emcee non-linear search.
copy_with_paths
(paths)exact_fit
(factor, model_approx[, status, …])fit
(model, analysis[, info, pickle_files, …])Fit a model, M with some function f that takes instances of the class represented by model M and gives a score for their fitness.
fitness_function_from_model_and_analysis
(…)make_pool
()Make the pool instance used to parallelize a NonLinearSearch alongside a set of unique ids for every process in the pool.
make_sneaky_pool
(fitness_function)Create a pool for multiprocessing that uses slight-of-hand to avoid copying the fitness function between processes multiple times.
optimise
(factor, model_approx[, status])Perform optimisation for expectation propagation.
perform_update
(model, analysis, during_analysis)Perform an update of the NonLinearSearch results, which occurs every iterations_per_update of the non-linear search.
plot_results
(samples)remove_state_files
()samples_from
(model)samples_via_results_from
(model)update_model_approx
(new_model_dist, …[, …])Attributes
backend
The Emcee hdf5 backend, which provides access to all samples, likelihoods, etc.
backend_filename
config_dict_run
config_dict_search
config_dict_settings
config_type
logger
Log ‘msg % args’ with severity ‘DEBUG’.
name
paths
samples_cls
timer