From 56a992f2e9022b0f6bdad6a8680653ee7d312900 Mon Sep 17 00:00:00 2001 From: Lorenzo Volpi Date: Sun, 26 Nov 2023 16:32:23 +0100 Subject: [PATCH] improve printing --- quacc/method/model_selection.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/quacc/method/model_selection.py b/quacc/method/model_selection.py index c43dfd3..36cbcac 100644 --- a/quacc/method/model_selection.py +++ b/quacc/method/model_selection.py @@ -44,9 +44,9 @@ class GridSearchAE(BaseAccuracyEstimator): self.__check_error(error) assert isinstance(protocol, AbstractProtocol), "unknown protocol" - def _sout(self, msg): - if self.verbose: - print(f"[{self.__class__.__name__}]: {msg}") + def _sout(self, msg, level=0): + if level > 0 or self.verbose: + print(f"[{self.__class__.__name__}@{self.model.__class__.__name__}]: {msg}") def __normalize_params(self, params): __remap = {} @@ -113,8 +113,10 @@ class GridSearchAE(BaseAccuracyEstimator): self._sout( f"optimization finished: best params {self.best_params_} (score={self.best_score_:.5f}) " - f"[took {tend:.4f}s]" + f"[took {tend:.4f}s]", + level=1, ) + log = SubLogger.logger() log.debug( f"[{self.model.__class__.__name__}] " @@ -160,7 +162,7 @@ class GridSearchAE(BaseAccuracyEstimator): ttime = time() - tinit self._sout( - f"hyperparams={params}\t got score {score:.5f} [took {ttime:.4f}s]" + f"hyperparams={params}\t got score {score:.5f} [took {ttime:.4f}s]", ) # if self.timeout > 0: @@ -169,12 +171,18 @@ class GridSearchAE(BaseAccuracyEstimator): # self._sout(f"timeout ({self.timeout}s) reached for config {params}") # score = None except ValueError as e: - self._sout(f"the combination of hyperparameters {params} is invalid") - raise e + self._sout( + f"the combination of hyperparameters {params} is invalid. Exception: {e}", + level=1, + ) + score = None + # raise e except Exception as e: - self._sout(f"something went wrong for config {params}; skipping:") - self._sout(f"\tException: {e}") - + self._sout( + f"something went wrong for config {params}; skipping:" + f"\tException: {e}", + level=1, + ) score = None return params, score, model