From 2ca404b40bf62a9e087bb131448005f75d63e227 Mon Sep 17 00:00:00 2001 From: Michal Raczycki Date: Fri, 17 Feb 2023 16:27:26 +0100 Subject: [PATCH] changed id of model_builder to property, added type hinting --- pymc_experimental/model_builder.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pymc_experimental/model_builder.py b/pymc_experimental/model_builder.py index ac5cfb73..8c5aa757 100644 --- a/pymc_experimental/model_builder.py +++ b/pymc_experimental/model_builder.py @@ -192,7 +192,7 @@ def load(cls, fname): idata.fit_data.to_dataframe(), ) self.idata = idata - if self.id() != idata.attrs["id"]: + if self.id != idata.attrs["id"]: raise ValueError( f"The file '{fname}' does not contain an inference data of the same model or configuration as '{self._model_type}'" ) @@ -234,7 +234,7 @@ def fit(self, data: Dict[str, Union[np.ndarray, pd.DataFrame, pd.Series]] = None self.idata.extend(pm.sample_prior_predictive()) self.idata.extend(pm.sample_posterior_predictive(self.idata)) - self.idata.attrs["id"] = self.id() + self.idata.attrs["id"] = self.id self.idata.attrs["model_type"] = self._model_type self.idata.attrs["version"] = self.version self.idata.attrs["sample_config_keys"] = tuple(self.sample_config.keys()) @@ -344,7 +344,8 @@ def _extract_samples(post_pred: az.data.inference_data.InferenceData) -> Dict[st return post_pred_dict - def id(self): + @property + def id(self) -> str: """ It creates a hash value to match the model version using last 16 characters of hash encoding.