diff --git a/deepmd/utils/env_mat_stat.py b/deepmd/utils/env_mat_stat.py index b10842fb41..626950a3a1 100644 --- a/deepmd/utils/env_mat_stat.py +++ b/deepmd/utils/env_mat_stat.py @@ -89,8 +89,12 @@ def compute_std(self, default: float = 1e-1, protection: float = 1e-2) -> float: if self.number == 0: return default val = np.sqrt( - self.squared_sum / self.number - - np.multiply(self.sum / self.number, self.sum / self.number) + np.clip( + self.squared_sum / self.number + - np.multiply(self.sum / self.number, self.sum / self.number), + a_min=0, + a_max=None, + ) ) if np.abs(val) < protection: val = protection