Coverage for bilby/core/sampler/dynamic_dynesty.py: 59%
27 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-06 04:57 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-06 04:57 +0000
1from .dynesty import Dynesty
4class DynamicDynesty(Dynesty):
5 """
6 bilby wrapper of `dynesty.DynamicNestedSampler`
7 (https://dynesty.readthedocs.io/en/latest/)
9 All positional and keyword arguments (i.e., the args and kwargs) passed to
10 `run_sampler` will be propagated to `dynesty.DynamicNestedSampler`, see
11 documentation for that class for further help.
13 For additional documentation see bilby.core.sampler.Dynesty.
14 """
16 external_sampler_name = "dynesty"
17 sampler_name = "dynamic_dynesty"
19 @property
20 def nlive(self):
21 """
22 Users can either specify :code:`nlive_init` or :code:`nlive` (with
23 that precedence) or specify no value, in which case 500 is used.
24 """
25 if self.kwargs["nlive_init"] is not None:
26 return self.kwargs["nlive_init"]
27 elif self.kwargs["nlive"] is not None:
28 return self.kwargs["nlive"]
29 else:
30 return 500
32 @property
33 def sampler_init(self):
34 from dynesty import DynamicNestedSampler
36 return DynamicNestedSampler
38 @property
39 def sampler_class(self):
40 from dynesty.dynamicsampler import DynamicSampler
42 return DynamicSampler
44 def finalize_sampler_kwargs(self, sampler_kwargs):
45 sampler_kwargs["maxcall"] = self.sampler.ncall + self.n_check_point
47 def read_saved_state(self, continuing=False):
48 resume = super(DynamicDynesty, self).read_saved_state(continuing=continuing)
49 if not resume:
50 return resume
51 else:
52 self.sampler.loglikelihood.pool = self.pool
53 return resume