From cec9f85eeff7c72633631d05dc24226f66697259 Mon Sep 17 00:00:00 2001 From: kohlhaasrebecca <rebecca.kohlhaas@outlook.com> Date: Mon, 26 Aug 2024 13:26:31 +0200 Subject: [PATCH] [tests] Update tests to match new classes --- .gitignore | 3 +++ Outputs_Bayes_None_Calib/emcee_sampler.h5 | Bin 0 -> 8432 bytes .../bayes_inference/bayes_inference.py | 9 ++++----- src/bayesvalidrox/bayes_inference/mcmc.py | 4 ++-- .../surrogate_models/sequential_design.py | 4 ++-- .../surrogate_models/surrogate_models.py | 3 +++ tests/test_BayesInference.py | 2 +- tests/test_SequentialDesign.py | 2 +- 8 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 Outputs_Bayes_None_Calib/emcee_sampler.h5 diff --git a/.gitignore b/.gitignore index f2b103b6c..d3708f097 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 GIT binary patch literal 8432 zcmeHM&2AGh5FYO)!h|4Fi9-qq?Fr>nRnP-BTG5moDq6Kg;?{1q5sAo8l}5mkV|Wve zeFTm?LXSK`-=KKx`9j%h`Kg2iWE{map0Q``FJBz#%ZJwb#?8u|3URZRN>uYMx^rn~ zNr+&K{DC+|>{RT>C^&}rMO2sgg4EB?+uLb2$<0K4SXoA2%E7Y;sGTbWTFtd>KJZI9 zHCXytcm^;A*&t&dd~6|cMQg}@$KRUpw{a~LJe9gX<L{@%Ffoz&YUT@pJb#zv_*1#p zfJT~Souf(T5aX<y_J(fIAHCW?8jsqDgWnAV3heIlt#!VEac?GZn27Z)8FzF0C@43# zVSMlLLv|uaRB6?FjPPyue$yEr_eMinG{)Z)d`|_e!zTdTJ>2r4aI8v?rOtKdTN=Ji z`>$OsA9P*K%`N#s;(OG&??=2oFv?IltUv4xI90R`*XFaQTbsTXZ`3u^1sxtOEiXL` zDc_&ox-d{z5l{pa0YyL&Py`eKML-cy1QY>9KoL*`{s{!2$LDpRDsB7y8>-L)r$=<t z<NbDj)P^8YcLD-y1*|Uw&A`&e+U9Q4#rAeyu<;4#34ZLlZ#qZC>lD37XPi!0F$t|m zufTfNH+)SgY($VTPH*7`Jp?v(dCn{(PuwZEt<uU3S~(ZptL&njkD|yIuu?BJl<;h# zvtVZZbmsjHPSE#aIUCUl{%9%K9Mbk~!2}5>V(a&QJnw(WUgnkPagGQV8+Zl%4F6N* z<G;+iIMCS&-QuW(lAK`5@&*ER{YDOa|EIglcr^SYP57G39*=Wl(-{B$`2#cKC`PIG X?jd|`Is3cWGu2T96ahuxDhPZ9D)E(j literal 0 HcmV?d00001 diff --git a/src/bayesvalidrox/bayes_inference/bayes_inference.py b/src/bayesvalidrox/bayes_inference/bayes_inference.py index c0c4cd08e..557a786b8 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 a9914826a..daf8e7b6a 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 a8039dd61..8ada17669 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 5a494135f..28b5344ee 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 65a5e9cca..99c3a655d 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 0f90425ef..d674b9156 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) -- GitLab