autofit.DynestyStatic#

class autofit.DynestyStatic(name: Optional[str] = None, path_prefix: Optional[str] = None, unique_tag: Optional[str] = None, prior_passer=None, iterations_per_update: Optional[int] = None, number_of_cores: Optional[int] = None, session: Optional[Session] = None, **kwargs)[source]#

Bases: AbstractDynesty

A Dynesty NonLinearSearch using a static 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.

  • prior_passer – Controls how priors are passed from the results of this NonLinearSearch to a subsequent non-linear search.

  • iterations_per_update – The number of iterations performed between every Dynesty back-up (via dumping the Dynesty instance as a pickle).

  • 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

check_model

check_pool

config_dict_with_test_mode_settings_from

copy_with_paths

exact_fit

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.

fitness_function_from_model_and_analysis

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_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

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

run_sampler

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

sampler_from

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

samples_from

Create a Samples object from this non-linear search's output files on the hard-disk and model.

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

config_type

logger

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

name

paths

samples_cls

timer

total_live_points

samples_from(model)[source]#

Create a Samples object from this non-linear search’s output files on the hard-disk and model.

For Dynesty, all information that we need is available from the instance of the dynesty sampler.

Parameters:

model – The model which generates instances for different points in parameter space. This maps the points from unit cube values to physical values via the priors.

sampler_from(model: AbstractPriorModel, fitness_function, checkpoint_exists: bool, pool: Optional, queue_size: Optional[int])[source]#

Returns an instance of the Dynesty static 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_function – 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.