autofit.DynestyDynamic#
- class autofit.DynestyDynamic(name: Optional[str] = None, path_prefix: Optional[str] = None, unique_tag: Optional[str] = None, iterations_per_update: Optional[int] = None, number_of_cores: Optional[int] = None, **kwargs)[source]#
Bases:
AbstractDynestyA Dynesty non-linear search, using a dynamically changing number of live points.
For a full description of Dynesty, checkout its GitHub and readthedocs webpages:
https://github.com/joshspeagle/dynesty https://dynesty.readthedocs.io/en/latest/index.html
- 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.
iterations_per_update – The number of iterations performed between update (e.g. output latest model to hard-disk, visualization).
number_of_cores – The number of cores sampling is performed using a Python multiprocessing Pool instance.
session – An SQLalchemy session instance so the results of the model-fit are written to an SQLite database.
Methods
check_modelcheck_poolconfig_dict_with_test_mode_settings_fromcopy_with_pathsexact_fitfitFit a model, M with some function f that takes instances of the class represented by model M and gives a score for their fitness.
fit_sequentialFit multiple analyses contained within the analysis sequentially.
iterations_fromReturns the next number of iterations that a dynesty call will use and the total number of iterations that have been performed so far.
live_points_init_fromBy default, dynesty live points are generated via the sampler's in-built initialization.
make_poolMake the pool instance used to parallelize a NonLinearSearch alongside a set of unique ids for every process in the pool.
make_sneakier_poolmake_sneaky_poolCreate a pool for multiprocessing that uses slight-of-hand to avoid copying the fitness function between processes multiple times.
optimisePerform optimisation for expectation propagation.
perform_updatePerform an update of the non-linear search's model-fitting results.
perform_visualizationPerform visualization of the non-linear search's model-fitting results.
plot_resultspost_fit_outputCleans up the output folderds after a completed non-linear search.
pre_fit_outputOutputs attributes of fit before the non-linear search begins.
read_uses_poolIf a Dynesty fit does not use a parallel pool, and is then resumed using one, this causes significant slow down.
remove_state_filesresult_via_completed_fitReturns the result of the non-linear search of a completed model-fit.
run_search_internalRun the Dynesty sampler, which could be either the static of dynamic sampler.
samples_fromLoads the samples of a non-linear search from its output files.
samples_info_fromsamples_via_csv_fromReturns a Samples object from the samples.csv and samples_info.json files.
samples_via_internal_fromReturns a Samples object from the dynesty internal results.
Returns an instance of the Dynesty dynamic sampler set up using the input variables of this class.
start_resume_fitStart a non-linear search from scratch, or resumes one which was previously terminated mid-way through.
write_uses_poolIf a Dynesty fit does not use a parallel pool, and is then resumed using one, this causes significant slow down.
Attributes
checkpoint_fileThe path to the file used for checkpointing.
config_dict_runA property that is only computed once per instance and then replaces itself with an ordinary attribute.
config_dict_searchA property that is only computed once per instance and then replaces itself with an ordinary attribute.
config_dict_settingsconfig_typeloggerLog 'msg % args' with severity 'DEBUG'.
namenumber_live_pointspathssamples_clssearch_internaltimerReturns the timer of the search, which is used to output informaiton such as how long the search took and how much parallelization sped up the search time.
using_mpiWhether the search is being performing using MPI for parallelisation or not.
- search_internal_from(model: AbstractPriorModel, fitness, checkpoint_exists: bool, pool: Optional, queue_size: Optional[int])[source]#
Returns an instance of the Dynesty dynamic sampler set up using the input variables of this class.
If no existing dynesty sampler exist on hard-disk (located via a checkpoint_file) a new instance is created with which sampler is performed. If one does exist, the dynesty restore() function is used to create the instance of the sampler.
Dynesty samplers with a multiprocessing pool may be created by inputting a dynesty Pool object, however non pooled instances can also be created by passing pool=None and queue_size=None.
- Parameters:
model – The model which generates instances for different points in parameter space.
fitness – An instance of the fitness class used to evaluate the likelihood of each model.
pool – A dynesty Pool object which performs likelihood evaluations over multiple CPUs.
queue_size – The number of CPU’s over which multiprocessing is performed, determining how many samples are stored in the dynesty queue for samples.