diff --git a/.gitignore b/.gitignore index f2b103b6c11c649eb5891a0430ffd5f2abe8aab2..d3708f0973c917eda7488bd51c66335355720352 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ examples/*/Outputs_* # Ignore files for local environments *_env/* + +# Ignore test results +.coverage* \ No newline at end of file diff --git a/Outputs_Bayes_None_Calib/emcee_sampler.h5 b/Outputs_Bayes_None_Calib/emcee_sampler.h5 new file mode 100644 index 0000000000000000000000000000000000000000..a7058d8bea4a7106c1b427b2e2b2a49fcf631925 Binary files /dev/null and b/Outputs_Bayes_None_Calib/emcee_sampler.h5 differ diff --git a/src/bayesvalidrox/bayes_inference/bayes_inference.py b/src/bayesvalidrox/bayes_inference/bayes_inference.py index c0c4cd08eb1a07f40a2a397f98cf7d46b4802368..557a786b874d7b1a35b6915c4a04e75ca7426a81 100644 --- a/src/bayesvalidrox/bayes_inference/bayes_inference.py +++ b/src/bayesvalidrox/bayes_inference/bayes_inference.py @@ -511,7 +511,7 @@ class BayesInference: MAP_theta = self.prior_samples.mean(axis=0).reshape((1, n_params)) # Evaluate the (meta-)model at the MAP - y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(samples=MAP_theta) + y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(MAP_theta) # Train a GPR meta-model using MAP self.error_MetaModel = self.engine.MetaModel.create_model_error( @@ -534,7 +534,7 @@ class BayesInference: # map_theta = stats.mode(Posterior_df,axis=0)[0] # Evaluate the (meta-)model at the MAP - y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(samples=map_theta) + y_MAP, y_std_MAP = self.engine.MetaModel.eval_metamodel(map_theta) # Train a GPR meta-model using MAP self.error_MetaModel = self.engine.MetaModel.create_model_error( @@ -1133,7 +1133,7 @@ class BayesInference: post_pred_std = self._std_pce_prior_pred else: post_pred, post_pred_std = MetaModel.eval_metamodel( # TODO: recheck if this is needed - samples=posterior_df.values + posterior_df.values ) else: # TODO: see emulator version @@ -1298,8 +1298,7 @@ class BayesInference: # Run the models for MAP # MetaModel - map_metamodel_mean, map_metamodel_std = MetaModel.eval_metamodel( - samples=map_theta) + map_metamodel_mean, map_metamodel_std = MetaModel.eval_metamodel(map_theta) self.map_metamodel_mean = map_metamodel_mean self.map_metamodel_std = map_metamodel_std diff --git a/src/bayesvalidrox/bayes_inference/mcmc.py b/src/bayesvalidrox/bayes_inference/mcmc.py index a9914826a955da4506eb364df833a9f2327f4c41..daf8e7b6adf31eea113e7932a0aa9b327d1c342e 100755 --- a/src/bayesvalidrox/bayes_inference/mcmc.py +++ b/src/bayesvalidrox/bayes_inference/mcmc.py @@ -753,7 +753,7 @@ class MCMC: if self.emulator: # Evaluate the MetaModel - mean_pred, std_pred = engine.MetaModel.eval_metamodel(samples=theta) + mean_pred, std_pred = engine.MetaModel.eval_metamodel(theta) else: # Evaluate the origModel mean_pred, std_pred = dict(), dict() @@ -818,7 +818,7 @@ class MCMC: # MAP_theta = st.mode(Posterior_df,axis=0)[0] # Evaluate the (meta-)model at the MAP - y_map, y_std_map = MetaModel.eval_metamodel(samples=map_theta) + y_map, y_std_map = MetaModel.eval_metamodel(map_theta) # Train a GPR meta-model using MAP error_MetaModel = MetaModel.create_model_error( diff --git a/src/bayesvalidrox/surrogate_models/sequential_design.py b/src/bayesvalidrox/surrogate_models/sequential_design.py index a8039dd6194ae8e1d0398ec3255feea4cb83b71a..8ada17669548766619627cd4e0324faaceb0f92d 100644 --- a/src/bayesvalidrox/surrogate_models/sequential_design.py +++ b/src/bayesvalidrox/surrogate_models/sequential_design.py @@ -1178,12 +1178,12 @@ class SequentialDesign: P = len(BasisIndices) # ------ Old Psi ------------ - univ_p_val = self.MetaModel._univ_basis_vals(oldExpDesignX) + univ_p_val = self.MetaModel.univ_basis_vals(oldExpDesignX) Psi = create_psi(BasisIndices, univ_p_val) # ------ New candidates (Psi_c) ------------ # Assemble Psi_c - univ_p_val_c = self.MetaModel._univ_basis_vals(candidates) + univ_p_val_c = self.MetaModel.univ_basis_vals(candidates) Psi_c = create_psi(BasisIndices, univ_p_val_c) for idx in range(NCandidate): diff --git a/src/bayesvalidrox/surrogate_models/surrogate_models.py b/src/bayesvalidrox/surrogate_models/surrogate_models.py index 5a494135f7046133d2344995bffedb44cdb9197d..28b5344eeee8c20626785826fdc5f8dc3e5c4afa 100644 --- a/src/bayesvalidrox/surrogate_models/surrogate_models.py +++ b/src/bayesvalidrox/surrogate_models/surrogate_models.py @@ -413,6 +413,9 @@ class MetaModel: self.var_pca_threshold = None self.n_pca_components = None + # Parameters for Inference + self.rmse = None + # Build general parameters self._pce_deg = 1 # TODO: rename this more generally, so that it can be used for other types as well diff --git a/tests/test_BayesInference.py b/tests/test_BayesInference.py index 65a5e9cca90593ba869ec3c62c9f031e3e659517..99c3a655de55422af9fbb942a11d59b0c02f5310 100644 --- a/tests/test_BayesInference.py +++ b/tests/test_BayesInference.py @@ -803,7 +803,7 @@ def test_posterior_predictive_rejection() -> None: expdes.Y = {'Z': [[0.4], [0.5], [0.45]]} expdes.x_values = np.array([0]) # Error in plots if this is not available - mm = MetaModel(inp) + mm = PCE(inp) mm.n_params = 1 mm.fit(expdes.X, expdes.Y) expdes.generate_ED(expdes.n_init_samples, max_pce_deg=np.max(1)) diff --git a/tests/test_SequentialDesign.py b/tests/test_SequentialDesign.py index 0f90425ef62da81402b9655b01f66748d21daadd..d674b9156ee6b87631fb0149583811d89baedd27 100644 --- a/tests/test_SequentialDesign.py +++ b/tests/test_SequentialDesign.py @@ -145,7 +145,7 @@ def test_tradeoff_weights_adaptiveit1() -> None: engine = Engine(mm, mod, expdes) engine.start_engine() seqDes = SequentialDesign(mm, mod, expdes, engine) - seqDes._y_hat_prev, _ = mm.eval_metamodel(samples=np.array([[0.1], [0.2], [0.6]])) + seqDes._y_hat_prev, _ = mm.eval_metamodel(np.array([[0.1], [0.2], [0.6]])) seqDes.tradeoff_weights('adaptive', expdes.X, expdes.Y)