def __init__(self, input_file): # Load info self.info = info(input_file) # Setup likelihood self.likelihood = likelihood_dict(self.info["likelihoods"]) # DEBUG from plots import plot_likelihood_pdf plot_likelihood_pdf(self.likelihood, self.info["params"]) # Setup samples_set and sampler self.samples = samples_set(self.info["params"]) self.sampler = initialise_sampler(self.likelihood.loglik, lambda x: 1, self.samples, self.info["params"], self.info["sampler"], self.show_updated_info) # Room for parallelisation # n_processes = 1 # n_times_pool = 2 # Fire sampler status = self.sampler.run() self.final_report() return
def __init__(self, params_file): # Load info self.info = info(params_file) # Setup prior self.prior = prior(self.info["params"]) # Setup likelihood self.likelihood = likelihood_dict(self.info["likelihoods"]) # Consistency checks assert self.likelihood.dimension() == self.prior.dimension(), ( "The dimensionalities of prior and likelihood do not match.") plot_likelihood(self.likelihood, self.prior) # Setup sample_set and sampler self.samples = samples_set(self.info["params"]) # Setup sampler self.sampler = get_sampler(self.info["sampler"])(self.info["sampler"], self.prior, self.likelihood) # n_processes = 1 # n_times_pool = 2 # ERASE THE FORMER LINE!!!! And remove the corresponding paramenters n_diagnosis = 10 # Fire sampler while not(self.sampler.check_convergence()): self.sampler.next_iteration() if not(self.sampler.i_iter%n_diagnosis): self.sampler.diagnosis(prepare_axes)