From f93b4bd400ee0e821b1bd9e34e97ad9d51010311 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Sun, 6 Oct 2024 22:31:53 -0400 Subject: [PATCH 1/3] chore: use `functools.cached_property` for cached properties `functools.cached_property` (new in Python 3.8) is more suitable for cached properties. --- deepmd/tf/infer/deep_eval.py | 18 ++++++------------ deepmd/tf/utils/tabulate.py | 4 ++-- deepmd/utils/data_system.py | 4 ++-- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/deepmd/tf/infer/deep_eval.py b/deepmd/tf/infer/deep_eval.py index 33725007f3..8ec14b4fc0 100644 --- a/deepmd/tf/infer/deep_eval.py +++ b/deepmd/tf/infer/deep_eval.py @@ -263,8 +263,7 @@ def _init_attr(self): else: self.modifier_type = None - @property - @cache + @cached_property def model_type(self) -> type["DeepEvalWrapper"]: """Get type of model. @@ -288,8 +287,7 @@ def model_type(self) -> type["DeepEvalWrapper"]: else: raise RuntimeError(f"unknown model type {model_type}") - @property - @cache + @cached_property def model_version(self) -> str: """Get version of model. @@ -307,8 +305,7 @@ def model_version(self) -> str: [mt] = run_sess(self.sess, [t_mt], feed_dict={}) return mt.decode("utf-8") - @property - @cache + @cached_property def sess(self) -> tf.Session: """Get TF session.""" # start a tf session associated to the graph @@ -1192,8 +1189,7 @@ def __init__( self.neighbor_list = neighbor_list - @property - @cache + @cached_property def model_type(self) -> str: """Get type of model. @@ -1203,8 +1199,7 @@ def model_type(self) -> str: [mt] = run_sess(self.sess, [t_mt], feed_dict={}) return mt.decode("utf-8") - @property - @cache + @cached_property def model_version(self) -> str: """Get version of model. @@ -1222,8 +1217,7 @@ def model_version(self) -> str: [mt] = run_sess(self.sess, [t_mt], feed_dict={}) return mt.decode("utf-8") - @property - @cache + @cached_property def sess(self) -> tf.Session: """Get TF session.""" # start a tf session associated to the graph diff --git a/deepmd/tf/utils/tabulate.py b/deepmd/tf/utils/tabulate.py index afb94bb050..1dc6128f62 100644 --- a/deepmd/tf/utils/tabulate.py +++ b/deepmd/tf/utils/tabulate.py @@ -1,6 +1,7 @@ # SPDX-License-Identifier: LGPL-3.0-or-later import logging from functools import ( + cached_property, lru_cache, ) from typing import ( @@ -770,8 +771,7 @@ def _get_layer_size(self): raise RuntimeError("Unsupported descriptor") return layer_size - @property - @lru_cache + @cached_property def _n_all_excluded(self) -> int: """Then number of types excluding all types.""" return sum(int(self._all_excluded(ii)) for ii in range(0, self.ntypes)) diff --git a/deepmd/utils/data_system.py b/deepmd/utils/data_system.py index e499163e6a..c4474aee76 100644 --- a/deepmd/utils/data_system.py +++ b/deepmd/utils/data_system.py @@ -4,6 +4,7 @@ import warnings from functools import ( cache, + cached_property, ) from typing import ( Any, @@ -238,8 +239,7 @@ def _load_test(self, ntests=-1): for nn in test_system_data: self.test_data[nn].append(test_system_data[nn]) - @property - @cache + @cached_property def default_mesh(self) -> list[np.ndarray]: """Mesh for each system.""" return [ From 0c4718427337011f053e1137c306a7404e759976 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Sun, 6 Oct 2024 22:33:17 -0400 Subject: [PATCH 2/3] fix missing import Signed-off-by: Jinzhe Zeng --- deepmd/tf/infer/deep_eval.py | 1 + 1 file changed, 1 insertion(+) diff --git a/deepmd/tf/infer/deep_eval.py b/deepmd/tf/infer/deep_eval.py index 8ec14b4fc0..5796dfb2a2 100644 --- a/deepmd/tf/infer/deep_eval.py +++ b/deepmd/tf/infer/deep_eval.py @@ -2,6 +2,7 @@ import json from functools import ( cache, + cached_property, ) from typing import ( TYPE_CHECKING, From b8785da872e5faedf3838c8c7675cd1330dfd25e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 02:34:29 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- deepmd/tf/infer/deep_eval.py | 1 - deepmd/utils/data_system.py | 1 - 2 files changed, 2 deletions(-) diff --git a/deepmd/tf/infer/deep_eval.py b/deepmd/tf/infer/deep_eval.py index 5796dfb2a2..56df7f782f 100644 --- a/deepmd/tf/infer/deep_eval.py +++ b/deepmd/tf/infer/deep_eval.py @@ -1,7 +1,6 @@ # SPDX-License-Identifier: LGPL-3.0-or-later import json from functools import ( - cache, cached_property, ) from typing import ( diff --git a/deepmd/utils/data_system.py b/deepmd/utils/data_system.py index c4474aee76..7bec0b16f4 100644 --- a/deepmd/utils/data_system.py +++ b/deepmd/utils/data_system.py @@ -3,7 +3,6 @@ import logging import warnings from functools import ( - cache, cached_property, ) from typing import (