autofit.PySwarmsGlobal#

class autofit.PySwarmsGlobal(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, 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, iterations_per_update: Optional[int] = None, number_of_cores: Optional[int] = None, session: Optional[sqlalchemy.orm.session.Session] = None, **kwargs)[source]#

A PySwarms Particle Swarm Optimizer global non-linear search.

For a full description of PySwarms, checkout its Github and readthedocs webpages:

https://github.com/ljvmiranda921/pyswarms

https://pyswarms.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.

  • initializer – Generates the initialize samples of non-linear parameter space (see autofit.non_linear.initializer).

  • 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.

Methods

__init__([name, path_prefix, unique_tag, …])

A PySwarms Particle Swarm Optimizer global 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()

sampler_from(model, fitness_function, …)

Get the static Dynesty sampler which performs the non-linear search, passing it all associated input Dynesty variables.

samples_from(model)

samples_via_results_from(model)

update_model_approx(new_model_dist, …[, …])

Attributes

config_dict_run

config_dict_search

config_dict_settings

config_type

logger

Log ‘msg % args’ with severity ‘DEBUG’.

name

paths

samples_cls

timer