From e4e7cb1fb42a81bea63e47f64be2353de9840b69 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Sun, 24 Sep 2023 19:29:57 -0400 Subject: [PATCH 1/3] fix fintune RMSE and memory issue Fix #2472. The previous implementation tried to allocate a (N, N) array and the RMSE result was actually MAE instead. Signed-off-by: Jinzhe Zeng --- deepmd/fit/ener.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/deepmd/fit/ener.py b/deepmd/fit/ener.py index 9bfbf5a5cc..8ee375a84e 100644 --- a/deepmd/fit/ener.py +++ b/deepmd/fit/ener.py @@ -856,9 +856,12 @@ def change_energy_bias( delta_bias = np.linalg.lstsq(type_numbs, bias_diff, rcond=None)[0] unbias_e = energy_predict + type_numbs @ delta_bias atom_numbs = type_numbs.sum(-1) - rmse_ae = ( - np.sqrt(np.square(unbias_e - energy_ground_truth)) / atom_numbs - ).mean() + rmse_ae = np.sqrt( + np.mean( + np.square(unbias_e.ravel() - energy_ground_truth.ravel()) + / atom_numbs + ) + ) self.bias_atom_e[idx_type_map] += delta_bias.reshape(-1) log.info( f"RMSE of atomic energy after linear regression is: {rmse_ae} eV/atom." From 821456e4a793cc9fb036a3850588df3395e2a34b Mon Sep 17 00:00:00 2001 From: Han Wang <92130845+wanghan-iapcm@users.noreply.github.com> Date: Mon, 25 Sep 2023 14:04:12 +0800 Subject: [PATCH 2/3] Update deepmd/fit/ener.py Co-authored-by: Jinzhe Zeng Signed-off-by: Han Wang <92130845+wanghan-iapcm@users.noreply.github.com> --- deepmd/fit/ener.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deepmd/fit/ener.py b/deepmd/fit/ener.py index 8ee375a84e..3d0125d188 100644 --- a/deepmd/fit/ener.py +++ b/deepmd/fit/ener.py @@ -858,8 +858,7 @@ def change_energy_bias( atom_numbs = type_numbs.sum(-1) rmse_ae = np.sqrt( np.mean( - np.square(unbias_e.ravel() - energy_ground_truth.ravel()) - / atom_numbs + np.square((unbias_e.ravel() - energy_ground_truth.ravel()) / atom_numbs) ) ) self.bias_atom_e[idx_type_map] += delta_bias.reshape(-1) From 3ca57148b98d81730f6343d2f95ee0d5c0b0d126 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 06:04:38 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- deepmd/fit/ener.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deepmd/fit/ener.py b/deepmd/fit/ener.py index 3d0125d188..61cf0ce40c 100644 --- a/deepmd/fit/ener.py +++ b/deepmd/fit/ener.py @@ -858,7 +858,9 @@ def change_energy_bias( atom_numbs = type_numbs.sum(-1) rmse_ae = np.sqrt( np.mean( - np.square((unbias_e.ravel() - energy_ground_truth.ravel()) / atom_numbs) + np.square( + (unbias_e.ravel() - energy_ground_truth.ravel()) / atom_numbs + ) ) ) self.bias_atom_e[idx_type_map] += delta_bias.reshape(-1)