autofit.DynestyDynamic#

class DynestyDynamic[source]#

Bases: AbstractDynesty

A 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 (Optional[str]) – The name of the search, controlling the last folder results are output.

  • path_prefix (Optional[str]) – The path of folders prefixing the name folder where results are output.

  • unique_tag (Optional[str]) – 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 (Optional[int]) – The number of iterations performed between update (e.g. output latest model to hard-disk, visualization).

  • number_of_cores (Optional[int]) – 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_model

check_pool

config_dict_with_test_mode_settings_from

copy_with_paths

exact_fit

rtype

Tuple[MeanField, Status]

fit

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.

fit_sequential

Fit multiple analyses contained within the analysis sequentially.

iterations_from

Returns 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_from

By default, dynesty live points are generated via the sampler's in-built initialization.

make_pool

Make the pool instance used to parallelize a NonLinearSearch alongside a set of unique ids for every process in the pool.

make_sneakier_pool

rtype

SneakierPool

make_sneaky_pool

Create a pool for multiprocessing that uses slight-of-hand to avoid copying the fitness function between processes multiple times.

optimise

Perform optimisation for expectation propagation.

perform_update

Perform an update of the non-linear search's model-fitting results.

perform_visualization

Perform visualization of the non-linear search's model-fitting results.

plot_results

post_fit_output

Cleans up the output folderds after a completed non-linear search.

pre_fit_output

Outputs attributes of fit before the non-linear search begins.

read_uses_pool

If a Dynesty fit does not use a parallel pool, and is then resumed using one, this causes significant slow down.

remove_state_files

result_via_completed_fit

Returns the result of the non-linear search of a completed model-fit.

run_sampler

Run the Dynesty sampler, which could be either the static of dynamic sampler.

sampler_from

Returns an instance of the Dynesty dynamic sampler set up using the input variables of this class.

samples_from

Loads the samples of a non-linear search from its output files.

samples_via_csv_from

Returns a Samples object from the samples.csv and samples_info.json files.

samples_via_internal_from

Returns a Samples object from the dynesty internal results.

start_resume_fit

Start a non-linear search from scratch, or resumes one which was previously terminated mid-way through.

write_uses_pool

If a Dynesty fit does not use a parallel pool, and is then resumed using one, this causes significant slow down.

Attributes

checkpoint_file

The path to the file used by dynesty for checkpointing.

config_dict_run

A property that is only computed once per instance and then replaces itself with an ordinary attribute.

config_dict_search

A property that is only computed once per instance and then replaces itself with an ordinary attribute.

config_dict_settings

rtype

Dict

config_type

logger

Log 'msg % args' with severity 'DEBUG'.

name

number_live_points

paths

rtype

Optional[AbstractPaths]

sampler

samples_cls

samples_info

timer

using_mpi

Whether the search is being performing using MPI for parallelisation or not.

sampler_from(model, fitness, checkpoint_exists, pool, queue_size)[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.