Skip to content
Snippets Groups Projects
Commit 6e32b996 authored by Gregory Ashton's avatar Gregory Ashton
Browse files

Minor change to how non standard parameters are checked

Previously, `parameters` in `fill_prior` was only ever used to fill in
the non-standard parameters if sampling in something other than the
defaults. This directy checks that. The advantage is a cleaner logic and
we no longer assume the likelihood has a
`non_standard_sampling_parameter_keys` attribute.
parent c90b9651
No related branches found
No related tags found
1 merge request!43Minor change to how non standard parameters are checked
Pipeline #
...@@ -433,7 +433,7 @@ def parse_keys_to_parameters(keys): ...@@ -433,7 +433,7 @@ def parse_keys_to_parameters(keys):
return parameters return parameters
def fill_priors(prior, likelihood, parameters=None): def fill_priors(prior, likelihood):
""" """
Fill dictionary of priors based on required parameters of likelihood Fill dictionary of priors based on required parameters of likelihood
...@@ -446,9 +446,9 @@ def fill_priors(prior, likelihood, parameters=None): ...@@ -446,9 +446,9 @@ def fill_priors(prior, likelihood, parameters=None):
dictionary of prior objects and floats dictionary of prior objects and floats
likelihood: tupak.likelihood.GravitationalWaveTransient instance likelihood: tupak.likelihood.GravitationalWaveTransient instance
Used to infer the set of parameters to fill the prior with Used to infer the set of parameters to fill the prior with
parameters: list
list of parameters to be sampled in, this can override the default Note: if `likelihood` has `non_standard_sampling_parameter_keys`, then this
priors for the waveform generator will set-up default priors for those as well.
Returns Returns
------- -------
...@@ -470,8 +470,8 @@ def fill_priors(prior, likelihood, parameters=None): ...@@ -470,8 +470,8 @@ def fill_priors(prior, likelihood, parameters=None):
missing_keys = set(likelihood.parameters) - set(prior.keys()) missing_keys = set(likelihood.parameters) - set(prior.keys())
if parameters is not None: if getattr(likelihood, 'non_standard_sampling_parameter_keys', None) is not None:
for parameter in parameters: for parameter in likelihood.non_standard_sampling_parameter_keys:
prior[parameter] = create_default_prior(parameter) prior[parameter] = create_default_prior(parameter)
for missing_key in missing_keys: for missing_key in missing_keys:
......
...@@ -444,7 +444,7 @@ def run_sampler(likelihood, priors=None, label='label', outdir='outdir', ...@@ -444,7 +444,7 @@ def run_sampler(likelihood, priors=None, label='label', outdir='outdir',
if priors is None: if priors is None:
priors = dict() priors = dict()
priors = fill_priors(priors, likelihood, parameters=likelihood.non_standard_sampling_parameter_keys) priors = fill_priors(priors, likelihood)
tupak.prior.write_priors_to_file(priors, outdir) tupak.prior.write_priors_to_file(priors, outdir)
if implemented_samplers.__contains__(sampler.title()): if implemented_samplers.__contains__(sampler.title()):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment