Skip to content

Commit 537571d

Browse files
committed
Add methods to get and restore sampling statistics.
1 parent aa87449 commit 537571d

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

src/loch/_sampler.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,6 +1102,44 @@ def reset(self) -> None:
11021102
self._num_accepted_insertions = 0
11031103
self._num_accepted_deletions = 0
11041104

1105+
def restore_stats(self, stats: dict) -> None:
1106+
"""
1107+
Restore sampler statistics from a dictionary.
1108+
1109+
Parameters
1110+
----------
1111+
1112+
stats : dict
1113+
Dictionary of sampler statistics as returned by ``get_stats()``.
1114+
"""
1115+
self._num_moves = stats["num_moves"]
1116+
self._num_accepted = stats["num_accepted"]
1117+
self._num_insertions = stats["num_insertions"]
1118+
self._num_deletions = stats["num_deletions"]
1119+
self._num_accepted_attempts = stats["num_accepted_attempts"]
1120+
self._num_accepted_insertions = stats["num_accepted_insertions"]
1121+
self._num_accepted_deletions = stats["num_accepted_deletions"]
1122+
1123+
def get_stats(self) -> dict:
1124+
"""
1125+
Return the current sampler statistics as a dictionary.
1126+
1127+
Returns
1128+
-------
1129+
1130+
dict
1131+
Dictionary of sampler statistics.
1132+
"""
1133+
return {
1134+
"num_moves": self._num_moves,
1135+
"num_accepted": self._num_accepted,
1136+
"num_insertions": self._num_insertions,
1137+
"num_deletions": self._num_deletions,
1138+
"num_accepted_attempts": self._num_accepted_attempts,
1139+
"num_accepted_insertions": self._num_accepted_insertions,
1140+
"num_accepted_deletions": self._num_accepted_deletions,
1141+
}
1142+
11051143
# Clear the forces.
11061144
self._nonbonded_force = None
11071145
self._custom_nonbonded_force = None

0 commit comments

Comments
 (0)