From 2caf92c6990359dd1d6c599c85f3a894a5a77fc0 Mon Sep 17 00:00:00 2001 From: Anyang Peng <137014849+anyangml@users.noreply.github.com> Date: Fri, 15 Mar 2024 15:21:17 +0800 Subject: [PATCH] Feat: add DOS net (#3452) This PR provides DOS fitting net in Pytorch. Future TODO: - [ ] Loss implementation - [ ] Training/Fine-tuning test - [ ] Jit test - [ ] Doc --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: anyangml --- deepmd/dpmodel/fitting/__init__.py | 4 + deepmd/dpmodel/fitting/dos_fitting.py | 93 +++++ deepmd/dpmodel/fitting/general_fitting.py | 9 +- deepmd/dpmodel/fitting/invar_fitting.py | 6 +- deepmd/infer/deep_dos.py | 5 + deepmd/pt/model/model/__init__.py | 3 +- deepmd/pt/model/model/dos_model.py | 80 +++++ deepmd/pt/model/model/dp_model.py | 8 + deepmd/pt/model/task/dos.py | 128 +++++++ deepmd/pt/train/training.py | 3 + deepmd/tf/fit/dos.py | 121 ++++++- source/tests/consistent/common.py | 4 +- source/tests/consistent/fitting/test_dos.py | 211 +++++++++++ source/tests/pt/dos/data/set.000/atom_dos.npy | Bin 0 -> 352128 bytes source/tests/pt/dos/data/set.000/box.npy | Bin 0 -> 524 bytes source/tests/pt/dos/data/set.000/coord.npy | Bin 0 -> 4352 bytes source/tests/pt/dos/data/set.000/dos.npy | Bin 0 -> 11128 bytes source/tests/pt/dos/data/type.raw | 32 ++ source/tests/pt/dos/data/type_map.raw | 1 + source/tests/pt/dos/input.json | 80 +++++ source/tests/pt/model/test_permutation.py | 29 ++ source/tests/pt/model/test_rot.py | 8 + source/tests/pt/model/test_smooth.py | 9 + source/tests/pt/model/test_trans.py | 8 + source/tests/pt/test_training.py | 18 + source/tests/tf/test_fitting_dos.py | 20 +- source/tests/tf/test_model_dos.py | 335 +++++++++--------- 27 files changed, 1019 insertions(+), 196 deletions(-) create mode 100644 deepmd/dpmodel/fitting/dos_fitting.py create mode 100644 deepmd/pt/model/model/dos_model.py create mode 100644 deepmd/pt/model/task/dos.py create mode 100644 source/tests/consistent/fitting/test_dos.py create mode 100644 source/tests/pt/dos/data/set.000/atom_dos.npy create mode 100644 source/tests/pt/dos/data/set.000/box.npy create mode 100644 source/tests/pt/dos/data/set.000/coord.npy create mode 100644 source/tests/pt/dos/data/set.000/dos.npy create mode 100644 source/tests/pt/dos/data/type.raw create mode 100644 source/tests/pt/dos/data/type_map.raw create mode 100644 source/tests/pt/dos/input.json diff --git a/deepmd/dpmodel/fitting/__init__.py b/deepmd/dpmodel/fitting/__init__.py index 929a63fda7..866a710a3b 100644 --- a/deepmd/dpmodel/fitting/__init__.py +++ b/deepmd/dpmodel/fitting/__init__.py @@ -2,6 +2,9 @@ from .dipole_fitting import ( DipoleFitting, ) +from .dos_fitting import ( + DOSFittingNet, +) from .ener_fitting import ( EnergyFittingNet, ) @@ -21,4 +24,5 @@ "DipoleFitting", "EnergyFittingNet", "PolarFitting", + "DOSFittingNet", ] diff --git a/deepmd/dpmodel/fitting/dos_fitting.py b/deepmd/dpmodel/fitting/dos_fitting.py new file mode 100644 index 0000000000..7c86d392b0 --- /dev/null +++ b/deepmd/dpmodel/fitting/dos_fitting.py @@ -0,0 +1,93 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +import copy +from typing import ( + TYPE_CHECKING, + List, + Optional, + Union, +) + +import numpy as np + +from deepmd.dpmodel.common import ( + DEFAULT_PRECISION, +) +from deepmd.dpmodel.fitting.invar_fitting import ( + InvarFitting, +) + +if TYPE_CHECKING: + from deepmd.dpmodel.fitting.general_fitting import ( + GeneralFitting, + ) + +from deepmd.utils.version import ( + check_version_compatibility, +) + + +@InvarFitting.register("dos") +class DOSFittingNet(InvarFitting): + def __init__( + self, + ntypes: int, + dim_descrpt: int, + numb_dos: int = 300, + neuron: List[int] = [120, 120, 120], + resnet_dt: bool = True, + numb_fparam: int = 0, + numb_aparam: int = 0, + bias_dos: Optional[np.ndarray] = None, + rcond: Optional[float] = None, + trainable: Union[bool, List[bool]] = True, + activation_function: str = "tanh", + precision: str = DEFAULT_PRECISION, + mixed_types: bool = False, + exclude_types: List[int] = [], + # not used + seed: Optional[int] = None, + ): + if bias_dos is not None: + self.bias_dos = bias_dos + else: + self.bias_dos = np.zeros((ntypes, numb_dos), dtype=DEFAULT_PRECISION) + super().__init__( + var_name="dos", + ntypes=ntypes, + dim_descrpt=dim_descrpt, + dim_out=numb_dos, + neuron=neuron, + resnet_dt=resnet_dt, + bias_atom=bias_dos, + numb_fparam=numb_fparam, + numb_aparam=numb_aparam, + rcond=rcond, + trainable=trainable, + activation_function=activation_function, + precision=precision, + mixed_types=mixed_types, + exclude_types=exclude_types, + ) + + @classmethod + def deserialize(cls, data: dict) -> "GeneralFitting": + data = copy.deepcopy(data) + check_version_compatibility(data.pop("@version", 1), 1, 1) + data["numb_dos"] = data.pop("dim_out") + data.pop("tot_ener_zero", None) + data.pop("var_name", None) + data.pop("layer_name", None) + data.pop("use_aparam_as_mask", None) + data.pop("spin", None) + data.pop("atom_ener", None) + return super().deserialize(data) + + def serialize(self) -> dict: + """Serialize the fitting to dict.""" + dd = { + **super().serialize(), + "type": "dos", + } + dd["@variables"]["bias_atom_e"] = self.bias_atom_e + + return dd diff --git a/deepmd/dpmodel/fitting/general_fitting.py b/deepmd/dpmodel/fitting/general_fitting.py index e9dddae2de..3b0d022562 100644 --- a/deepmd/dpmodel/fitting/general_fitting.py +++ b/deepmd/dpmodel/fitting/general_fitting.py @@ -40,6 +40,8 @@ class GeneralFitting(NativeOP, BaseFitting): The dimension of the input descriptor. neuron Number of neurons :math:`N` in each hidden layer of the fitting net + bias_atom_e + Average enery per atom for each element. resnet_dt Time-step `dt` in the resnet construction: :math:`y = x + dt * \phi (Wx + b)` @@ -85,6 +87,7 @@ def __init__( resnet_dt: bool = True, numb_fparam: int = 0, numb_aparam: int = 0, + bias_atom_e: Optional[np.ndarray] = None, rcond: Optional[float] = None, tot_ener_zero: bool = False, trainable: Optional[List[bool]] = None, @@ -125,7 +128,11 @@ def __init__( net_dim_out = self._net_out_dim() # init constants - self.bias_atom_e = np.zeros([self.ntypes, net_dim_out]) + if bias_atom_e is None: + self.bias_atom_e = np.zeros([self.ntypes, net_dim_out]) + else: + assert bias_atom_e.shape == (self.ntypes, net_dim_out) + self.bias_atom_e = bias_atom_e if self.numb_fparam > 0: self.fparam_avg = np.zeros(self.numb_fparam) self.fparam_inv_std = np.ones(self.numb_fparam) diff --git a/deepmd/dpmodel/fitting/invar_fitting.py b/deepmd/dpmodel/fitting/invar_fitting.py index f7c091843b..9bf1731830 100644 --- a/deepmd/dpmodel/fitting/invar_fitting.py +++ b/deepmd/dpmodel/fitting/invar_fitting.py @@ -82,6 +82,8 @@ class InvarFitting(GeneralFitting): Number of atomic parameter rcond The condition number for the regression of atomic energy. + bias_atom + Bias for each element. tot_ener_zero Force the total energy to zero. Useful for the charge fitting. trainable @@ -117,10 +119,11 @@ def __init__( resnet_dt: bool = True, numb_fparam: int = 0, numb_aparam: int = 0, + bias_atom: Optional[np.ndarray] = None, rcond: Optional[float] = None, tot_ener_zero: bool = False, trainable: Optional[List[bool]] = None, - atom_ener: Optional[List[float]] = [], + atom_ener: Optional[List[float]] = None, activation_function: str = "tanh", precision: str = DEFAULT_PRECISION, layer_name: Optional[List[Optional[str]]] = None, @@ -152,6 +155,7 @@ def __init__( numb_fparam=numb_fparam, numb_aparam=numb_aparam, rcond=rcond, + bias_atom_e=bias_atom, tot_ener_zero=tot_ener_zero, trainable=trainable, activation_function=activation_function, diff --git a/deepmd/infer/deep_dos.py b/deepmd/infer/deep_dos.py index d95d2a119f..7823f02999 100644 --- a/deepmd/infer/deep_dos.py +++ b/deepmd/infer/deep_dos.py @@ -56,6 +56,11 @@ def output_def(self) -> ModelOutputDef: ) ) + @property + def numb_dos(self) -> int: + """Get the number of DOS.""" + return self.get_numb_dos() + def eval( self, coords: np.ndarray, diff --git a/deepmd/pt/model/model/__init__.py b/deepmd/pt/model/model/__init__.py index f93ec88bde..7a2070e476 100644 --- a/deepmd/pt/model/model/__init__.py +++ b/deepmd/pt/model/model/__init__.py @@ -140,7 +140,8 @@ def get_standard_model(model_params): fitting_net["type"] = fitting_net.get("type", "ener") fitting_net["ntypes"] = descriptor.get_ntypes() fitting_net["mixed_types"] = descriptor.mixed_types() - fitting_net["embedding_width"] = descriptor.get_dim_emb() + if fitting_net["type"] in ["dipole", "polar"]: + fitting_net["embedding_width"] = descriptor.get_dim_emb() fitting_net["dim_descrpt"] = descriptor.get_dim_out() grad_force = "direct" not in fitting_net["type"] if not grad_force: diff --git a/deepmd/pt/model/model/dos_model.py b/deepmd/pt/model/model/dos_model.py new file mode 100644 index 0000000000..680eac41f5 --- /dev/null +++ b/deepmd/pt/model/model/dos_model.py @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +from typing import ( + Dict, + Optional, +) + +import torch + +from .dp_model import ( + DPModel, +) + + +class DOSModel(DPModel): + model_type = "dos" + + def __init__( + self, + *args, + **kwargs, + ): + super().__init__(*args, **kwargs) + + def forward( + self, + coord, + atype, + box: Optional[torch.Tensor] = None, + fparam: Optional[torch.Tensor] = None, + aparam: Optional[torch.Tensor] = None, + do_atomic_virial: bool = False, + ) -> Dict[str, torch.Tensor]: + model_ret = self.forward_common( + coord, + atype, + box, + fparam=fparam, + aparam=aparam, + do_atomic_virial=do_atomic_virial, + ) + if self.get_fitting_net() is not None: + model_predict = {} + model_predict["atom_dos"] = model_ret["dos"] + model_predict["dos"] = model_ret["dos_redu"] + + if "mask" in model_ret: + model_predict["mask"] = model_ret["mask"] + else: + model_predict = model_ret + model_predict["updated_coord"] += coord + return model_predict + + @torch.jit.export + def forward_lower( + self, + extended_coord, + extended_atype, + nlist, + mapping: Optional[torch.Tensor] = None, + fparam: Optional[torch.Tensor] = None, + aparam: Optional[torch.Tensor] = None, + do_atomic_virial: bool = False, + ): + model_ret = self.forward_common_lower( + extended_coord, + extended_atype, + nlist, + mapping, + fparam=fparam, + aparam=aparam, + do_atomic_virial=do_atomic_virial, + ) + if self.get_fitting_net() is not None: + model_predict = {} + model_predict["atom_dos"] = model_ret["dos"] + model_predict["dos"] = model_ret["dos_redu"] + + else: + model_predict = model_ret + return model_predict diff --git a/deepmd/pt/model/model/dp_model.py b/deepmd/pt/model/model/dp_model.py index 138398539a..d7b3c4f4e2 100644 --- a/deepmd/pt/model/model/dp_model.py +++ b/deepmd/pt/model/model/dp_model.py @@ -18,6 +18,9 @@ from deepmd.pt.model.task.dipole import ( DipoleFittingNet, ) +from deepmd.pt.model.task.dos import ( + DOSFittingNet, +) from deepmd.pt.model.task.ener import ( EnergyFittingNet, EnergyFittingNetDirect, @@ -45,6 +48,9 @@ def __new__( from deepmd.pt.model.model.dipole_model import ( DipoleModel, ) + from deepmd.pt.model.model.dos_model import ( + DOSModel, + ) from deepmd.pt.model.model.ener_model import ( EnergyModel, ) @@ -68,6 +74,8 @@ def __new__( cls = DipoleModel elif isinstance(fitting, PolarFittingNet): cls = PolarModel + elif isinstance(fitting, DOSFittingNet): + cls = DOSModel # else: unknown fitting type, fall back to DPModel return super().__new__(cls) diff --git a/deepmd/pt/model/task/dos.py b/deepmd/pt/model/task/dos.py new file mode 100644 index 0000000000..c37b05277a --- /dev/null +++ b/deepmd/pt/model/task/dos.py @@ -0,0 +1,128 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +import copy +import logging +from typing import ( + List, + Optional, + Union, +) + +import torch + +from deepmd.dpmodel import ( + FittingOutputDef, + OutputVariableDef, +) +from deepmd.pt.model.task.ener import ( + InvarFitting, +) +from deepmd.pt.model.task.fitting import ( + Fitting, +) +from deepmd.pt.utils import ( + env, +) +from deepmd.pt.utils.env import ( + DEFAULT_PRECISION, +) +from deepmd.pt.utils.utils import ( + to_numpy_array, +) +from deepmd.utils.version import ( + check_version_compatibility, +) + +dtype = env.GLOBAL_PT_FLOAT_PRECISION +device = env.DEVICE + +log = logging.getLogger(__name__) + + +@Fitting.register("dos") +class DOSFittingNet(InvarFitting): + def __init__( + self, + ntypes: int, + dim_descrpt: int, + numb_dos: int = 300, + neuron: List[int] = [128, 128, 128], + resnet_dt: bool = True, + numb_fparam: int = 0, + numb_aparam: int = 0, + rcond: Optional[float] = None, + bias_dos: Optional[torch.Tensor] = None, + trainable: Union[bool, List[bool]] = True, + seed: Optional[int] = None, + activation_function: str = "tanh", + precision: str = DEFAULT_PRECISION, + exclude_types: List[int] = [], + mixed_types: bool = True, + ): + if bias_dos is not None: + self.bias_dos = bias_dos + else: + self.bias_dos = torch.zeros( + (ntypes, numb_dos), dtype=dtype, device=env.DEVICE + ) + super().__init__( + var_name="dos", + ntypes=ntypes, + dim_descrpt=dim_descrpt, + dim_out=numb_dos, + neuron=neuron, + bias_atom_e=bias_dos, + resnet_dt=resnet_dt, + numb_fparam=numb_fparam, + numb_aparam=numb_aparam, + activation_function=activation_function, + precision=precision, + mixed_types=mixed_types, + rcond=rcond, + seed=seed, + exclude_types=exclude_types, + trainable=trainable, + ) + + def output_def(self) -> FittingOutputDef: + return FittingOutputDef( + [ + OutputVariableDef( + self.var_name, + [self.dim_out], + reduciable=True, + r_differentiable=False, + c_differentiable=False, + ), + ] + ) + + @classmethod + def deserialize(cls, data: dict) -> "DOSFittingNet": + data = copy.deepcopy(data) + check_version_compatibility(data.pop("@version", 1), 1, 1) + data.pop("@class", None) + data.pop("var_name", None) + data.pop("tot_ener_zero", None) + data.pop("layer_name", None) + data.pop("use_aparam_as_mask", None) + data.pop("spin", None) + data.pop("atom_ener", None) + data["numb_dos"] = data.pop("dim_out") + obj = super().deserialize(data) + + return obj + + def serialize(self) -> dict: + """Serialize the fitting to dict.""" + # dd = super(InvarFitting, self).serialize() + dd = { + **InvarFitting.serialize(self), + "type": "dos", + "dim_out": self.dim_out, + } + dd["@variables"]["bias_atom_e"] = to_numpy_array(self.bias_atom_e) + + return dd + + # make jit happy with torch 2.0.0 + exclude_types: List[int] diff --git a/deepmd/pt/train/training.py b/deepmd/pt/train/training.py index b20d80c629..fc293f70ec 100644 --- a/deepmd/pt/train/training.py +++ b/deepmd/pt/train/training.py @@ -274,6 +274,9 @@ def get_loss(loss_params, start_lr, _ntypes, _model): if loss_type == "ener": loss_params["starter_learning_rate"] = start_lr return EnergyStdLoss(**loss_params) + elif loss_type == "dos": + loss_params["starter_learning_rate"] = start_lr + raise NotImplementedError() elif loss_type == "ener_spin": loss_params["starter_learning_rate"] = start_lr return EnergySpinLoss(**loss_params) diff --git a/deepmd/tf/fit/dos.py b/deepmd/tf/fit/dos.py index 0cc5a7df62..aef134da92 100644 --- a/deepmd/tf/fit/dos.py +++ b/deepmd/tf/fit/dos.py @@ -46,6 +46,9 @@ from deepmd.utils.out_stat import ( compute_stats_from_redu, ) +from deepmd.utils.version import ( + check_version_compatibility, +) log = logging.getLogger(__name__) @@ -57,8 +60,10 @@ class DOSFitting(Fitting): Parameters ---------- - descrpt - The descrptor :math:`\mathcal{D}` + ntypes + The ntypes of the descrptor :math:`\mathcal{D}` + dim_descrpt + The dimension of the descrptor :math:`\mathcal{D}` neuron Number of neurons :math:`N` in each hidden layer of the fitting net resnet_dt @@ -94,7 +99,8 @@ class DOSFitting(Fitting): def __init__( self, - descrpt: tf.Tensor, + ntypes: int, + dim_descrpt: int, neuron: List[int] = [120, 120, 120], resnet_dt: bool = True, numb_fparam: int = 0, @@ -112,8 +118,8 @@ def __init__( ) -> None: """Constructor.""" # model param - self.ntypes = descrpt.get_ntypes() - self.dim_descrpt = descrpt.get_dim_out() + self.ntypes = ntypes + self.dim_descrpt = dim_descrpt self.use_aparam_as_mask = use_aparam_as_mask self.numb_fparam = numb_fparam @@ -127,6 +133,7 @@ def __init__( self.seed = seed self.uniform_seed = uniform_seed self.seed_shift = one_layer_rand_seed_shift() + self.activation_function = activation_function self.fitting_activation_fn = get_activation_func(activation_function) self.fitting_precision = get_precision(precision) self.trainable = trainable @@ -145,16 +152,16 @@ def __init__( add_data_requirement( "fparam", self.numb_fparam, atomic=False, must=True, high_prec=False ) - self.fparam_avg = None - self.fparam_std = None - self.fparam_inv_std = None + self.fparam_avg = None + self.fparam_std = None + self.fparam_inv_std = None if self.numb_aparam > 0: add_data_requirement( "aparam", self.numb_aparam, atomic=True, must=True, high_prec=False ) - self.aparam_avg = None - self.aparam_std = None - self.aparam_inv_std = None + self.aparam_avg = None + self.aparam_std = None + self.aparam_inv_std = None self.fitting_net_variables = None self.mixed_prec = None @@ -521,7 +528,11 @@ def build( final_layer = tf.reshape( final_layer, - [tf.shape(inputs)[0] * self.numb_dos, natoms[2 + type_i]], + [ + tf.shape(inputs)[0], + natoms[2 + type_i], + self.numb_dos, + ], ) outs_list.append(final_layer) start_index += natoms[2 + type_i] @@ -550,7 +561,8 @@ def build( ) outs = tf.reshape( - final_layer, [tf.shape(inputs)[0] * self.numb_dos, natoms[0]] + final_layer, + [tf.shape(inputs)[0], natoms[0], self.numb_dos], ) # add bias # self.atom_ener_before = outs @@ -562,7 +574,7 @@ def build( # self.atom_ener_after = outs tf.summary.histogram("fitting_net_output", outs) - return tf.reshape(outs, [-1]) + return outs def init_variables( self, @@ -641,3 +653,84 @@ def get_loss(self, loss: dict, lr) -> Loss: return DOSLoss( **loss, starter_learning_rate=lr.start_lr(), numb_dos=self.get_numb_dos() ) + + @classmethod + def deserialize(cls, data: dict, suffix: str = ""): + """Deserialize the model. + + Parameters + ---------- + data : dict + The serialized data + + Returns + ------- + Model + The deserialized model + """ + data = data.copy() + check_version_compatibility(data.pop("@version", 1), 1, 1) + data["numb_dos"] = data.pop("dim_out") + fitting = cls(**data) + fitting.fitting_net_variables = cls.deserialize_network( + data["nets"], + suffix=suffix, + ) + fitting.bias_dos = data["@variables"]["bias_atom_e"] + if fitting.numb_fparam > 0: + fitting.fparam_avg = data["@variables"]["fparam_avg"] + fitting.fparam_inv_std = data["@variables"]["fparam_inv_std"] + if fitting.numb_aparam > 0: + fitting.aparam_avg = data["@variables"]["aparam_avg"] + fitting.aparam_inv_std = data["@variables"]["aparam_inv_std"] + return fitting + + def serialize(self, suffix: str = "") -> dict: + """Serialize the model. + + Returns + ------- + dict + The serialized data + """ + data = { + "@class": "Fitting", + "type": "dos", + "@version": 1, + "var_name": "dos", + "ntypes": self.ntypes, + "dim_descrpt": self.dim_descrpt, + # very bad design: type embedding is not passed to the class + # TODO: refactor the class + "mixed_types": False, + "dim_out": self.numb_dos, + "neuron": self.n_neuron, + "resnet_dt": self.resnet_dt, + "numb_fparam": self.numb_fparam, + "numb_aparam": self.numb_aparam, + "rcond": self.rcond, + "trainable": self.trainable, + "activation_function": self.activation_function, + "precision": self.fitting_precision.name, + "exclude_types": [], + "nets": self.serialize_network( + ntypes=self.ntypes, + # TODO: consider type embeddings + ndim=1, + in_dim=self.dim_descrpt + self.numb_fparam + self.numb_aparam, + out_dim=self.numb_dos, + neuron=self.n_neuron, + activation_function=self.activation_function, + resnet_dt=self.resnet_dt, + variables=self.fitting_net_variables, + suffix=suffix, + ), + "@variables": { + "bias_atom_e": self.bias_dos, + "fparam_avg": self.fparam_avg, + "fparam_inv_std": self.fparam_inv_std, + "aparam_avg": self.aparam_avg, + "aparam_inv_std": self.aparam_inv_std, + }, + } + return data diff --git a/source/tests/consistent/common.py b/source/tests/consistent/common.py index 5a35ced0a1..cbcb987c89 100644 --- a/source/tests/consistent/common.py +++ b/source/tests/consistent/common.py @@ -252,7 +252,7 @@ def test_tf_consistent_with_ref(self): tf_obj = self.tf_class.deserialize(data1, suffix=self.unique_id) ret2, data2 = self.get_tf_ret_serialization_from_cls(tf_obj) ret2 = self.extract_ret(ret2, self.RefBackend.TF) - if tf_obj.__class__.__name__.startswith(("Polar", "Dipole")): + if tf_obj.__class__.__name__.startswith(("Polar", "Dipole", "DOS")): # tf, pt serialization mismatch common_keys = set(data1.keys()) & set(data2.keys()) data1 = {k: data1[k] for k in common_keys} @@ -331,7 +331,7 @@ def test_pt_consistent_with_ref(self): ret2 = self.eval_pt(obj) ret2 = self.extract_ret(ret2, self.RefBackend.PT) data2 = obj.serialize() - if obj.__class__.__name__.startswith(("Polar", "Dipole")): + if obj.__class__.__name__.startswith(("Polar", "Dipole", "DOS")): # tf, pt serialization mismatch common_keys = set(data1.keys()) & set(data2.keys()) data1 = {k: data1[k] for k in common_keys} diff --git a/source/tests/consistent/fitting/test_dos.py b/source/tests/consistent/fitting/test_dos.py new file mode 100644 index 0000000000..2832d67641 --- /dev/null +++ b/source/tests/consistent/fitting/test_dos.py @@ -0,0 +1,211 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +import unittest +from typing import ( + Any, + Tuple, +) + +import numpy as np + +from deepmd.dpmodel.fitting.dos_fitting import DOSFittingNet as DOSFittingDP +from deepmd.env import ( + GLOBAL_NP_FLOAT_PRECISION, +) + +from ..common import ( + INSTALLED_PT, + INSTALLED_TF, + CommonTest, + parameterized, +) +from .common import ( + FittingTest, +) + +if INSTALLED_PT: + import torch + + from deepmd.pt.model.task.dos import DOSFittingNet as DOSFittingPT + from deepmd.pt.utils.env import DEVICE as PT_DEVICE +else: + DOSFittingPT = object +if INSTALLED_TF: + from deepmd.tf.fit.dos import DOSFitting as DOSFittingTF +else: + DOSFittingTF = object +from deepmd.utils.argcheck import ( + fitting_dos, +) + + +@parameterized( + (True, False), # resnet_dt + ("float64", "float32"), # precision + (True, False), # mixed_types + (0, 1), # numb_fparam + (10, 20), # numb_dos +) +class TestDOS(CommonTest, FittingTest, unittest.TestCase): + @property + def data(self) -> dict: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + return { + "neuron": [5, 5, 5], + "resnet_dt": resnet_dt, + "precision": precision, + "numb_fparam": numb_fparam, + "seed": 20240217, + "numb_dos": numb_dos, + } + + @property + def skip_tf(self) -> bool: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + # TODO: mixed_types + return mixed_types or CommonTest.skip_pt + + @property + def skip_pt(self) -> bool: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + return CommonTest.skip_pt + + tf_class = DOSFittingTF + dp_class = DOSFittingDP + pt_class = DOSFittingPT + args = fitting_dos() + + def setUp(self): + CommonTest.setUp(self) + + self.ntypes = 2 + self.natoms = np.array([6, 6, 2, 4], dtype=np.int32) + self.inputs = np.ones((1, 6, 20), dtype=GLOBAL_NP_FLOAT_PRECISION) + self.atype = np.array([0, 1, 1, 0, 1, 1], dtype=np.int32) + # inconsistent if not sorted + self.atype.sort() + self.fparam = -np.ones((1,), dtype=GLOBAL_NP_FLOAT_PRECISION) + + @property + def addtional_data(self) -> dict: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + return { + "ntypes": self.ntypes, + "dim_descrpt": self.inputs.shape[-1], + "mixed_types": mixed_types, + } + + def build_tf(self, obj: Any, suffix: str) -> Tuple[list, dict]: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + return self.build_tf_fitting( + obj, + self.inputs.ravel(), + self.natoms, + self.atype, + self.fparam if numb_fparam else None, + suffix, + ) + + def eval_pt(self, pt_obj: Any) -> Any: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + return ( + pt_obj( + torch.from_numpy(self.inputs).to(device=PT_DEVICE), + torch.from_numpy(self.atype.reshape(1, -1)).to(device=PT_DEVICE), + fparam=torch.from_numpy(self.fparam).to(device=PT_DEVICE) + if numb_fparam + else None, + )["dos"] + .detach() + .cpu() + .numpy() + ) + + def eval_dp(self, dp_obj: Any) -> Any: + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + return dp_obj( + self.inputs, + self.atype.reshape(1, -1), + fparam=self.fparam if numb_fparam else None, + )["dos"] + + def extract_ret(self, ret: Any, backend) -> Tuple[np.ndarray, ...]: + if backend == self.RefBackend.TF: + # shape is not same + ret = ret[0].reshape(-1, self.natoms[0], 1) + return (ret,) + + @property + def rtol(self) -> float: + """Relative tolerance for comparing the return value.""" + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + if precision == "float64": + return 1e-10 + elif precision == "float32": + return 1e-4 + else: + raise ValueError(f"Unknown precision: {precision}") + + @property + def atol(self) -> float: + """Absolute tolerance for comparing the return value.""" + ( + resnet_dt, + precision, + mixed_types, + numb_fparam, + numb_dos, + ) = self.param + if precision == "float64": + return 1e-10 + elif precision == "float32": + return 1e-4 + else: + raise ValueError(f"Unknown precision: {precision}") diff --git a/source/tests/pt/dos/data/set.000/atom_dos.npy b/source/tests/pt/dos/data/set.000/atom_dos.npy new file mode 100644 index 0000000000000000000000000000000000000000..22809c1068d553bace9c93cfa37e8d8979c56f9e GIT binary patch literal 352128 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 XysFVK{a|pMySEm5Vu{E9TIc@&5cI8x literal 0 HcmV?d00001 diff --git a/source/tests/pt/dos/data/set.000/box.npy b/source/tests/pt/dos/data/set.000/box.npy new file mode 100644 index 0000000000000000000000000000000000000000..6265bf150e5b7b332a05fd8fa91c8d82a7d8376f GIT binary patch literal 524 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 literal 0 HcmV?d00001 diff --git a/source/tests/pt/dos/data/set.000/dos.npy b/source/tests/pt/dos/data/set.000/dos.npy new file mode 100644 index 0000000000000000000000000000000000000000..904b23e70910c3afc43983eb7c6d7899592877ff GIT binary patch literal 11128 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 caMyx9f# None: DPTrainTest.tearDown(self) +@unittest.skip("loss not implemented") +class TestDOSModelSeA(unittest.TestCase, DPTrainTest): + def setUp(self): + input_json = str(Path(__file__).parent / "dos/input.json") + with open(input_json) as f: + self.config = json.load(f) + data_file = [str(Path(__file__).parent / "dos/data/")] + self.config["training"]["training_data"]["systems"] = data_file + self.config["training"]["validation_data"]["systems"] = data_file + self.config["model"] = deepcopy(model_dos) + self.config["training"]["numb_steps"] = 1 + self.config["training"]["save_freq"] = 1 + + def tearDown(self) -> None: + DPTrainTest.tearDown(self) + + class TestEnergyZBLModelSeA(unittest.TestCase, DPTrainTest): def setUp(self): input_json = str(Path(__file__).parent / "water/zbl.json") diff --git a/source/tests/tf/test_fitting_dos.py b/source/tests/tf/test_fitting_dos.py index a2a54d6287..f9df5fc126 100644 --- a/source/tests/tf/test_fitting_dos.py +++ b/source/tests/tf/test_fitting_dos.py @@ -59,7 +59,8 @@ def test_fitting(self): descrpt = DescrptSeA(**jdata["model"]["descriptor"], uniform_seed=True) jdata["model"]["fitting_net"].pop("type", None) - jdata["model"]["fitting_net"]["descrpt"] = descrpt + jdata["model"]["fitting_net"]["ntypes"] = descrpt.get_ntypes() + jdata["model"]["fitting_net"]["dim_descrpt"] = descrpt.get_dim_out() fitting = DOSFitting(**jdata["model"]["fitting_net"], uniform_seed=True) # model._compute_dstats([test_data['coord']], [test_data['box']], [test_data['type']], [test_data['natoms_vec']], [test_data['default_mesh']]) @@ -189,21 +190,20 @@ def test_fitting(self): ref_atom_dos_1 = [ -0.32495014, - -0.87979356, - -0.26630668, -0.32495882, - -0.87979767, - -0.2663072, + -0.32496842, + -0.32495892, + -0.32495469, + -0.32496075, ] ref_atom_dos_2 = [ - -0.26630917, 0.21549911, - -0.87979638, - -0.26630564, 0.21550413, - -0.87979585, + 0.21551077, + 0.21550547, + 0.21550303, + 0.21550645, ] places = 4 - np.testing.assert_almost_equal(pred_atom_dos[:, 0], ref_atom_dos_1, places) np.testing.assert_almost_equal(pred_atom_dos[:, 50], ref_atom_dos_2, places) diff --git a/source/tests/tf/test_model_dos.py b/source/tests/tf/test_model_dos.py index d88c81c332..9c01b14e32 100644 --- a/source/tests/tf/test_model_dos.py +++ b/source/tests/tf/test_model_dos.py @@ -66,7 +66,8 @@ def test_model(self): descrpt = DescrptSeA(**jdata["model"]["descriptor"], uniform_seed=True) jdata["model"]["fitting_net"].pop("type", None) - jdata["model"]["fitting_net"]["descrpt"] = descrpt + jdata["model"]["fitting_net"]["ntypes"] = descrpt.get_ntypes() + jdata["model"]["fitting_net"]["dim_descrpt"] = descrpt.get_dim_out() fitting = DOSFitting(**jdata["model"]["fitting_net"], uniform_seed=True) model = DOSModel(descrpt, fitting) @@ -123,106 +124,106 @@ def test_model(self): ref_dos = np.array( [ - -2.98834333, - -0.63166985, - -3.37199568, - -1.88397887, - 0.87560992, - 4.85426159, - -1.22677731, - -0.60918118, - 8.80472675, - -1.12006829, - -3.72653765, - -3.03698828, - 3.50906891, - 5.55140795, - -3.34920924, - -4.43507641, - -6.1729281, - -8.34865917, - 0.14371788, - -4.38078479, - -6.43141133, - 4.07791938, - 7.14102837, - -0.52347718, - 0.82663796, - -1.64225631, - -4.63088421, - 3.3910594, - -9.09682274, - 1.61104204, - 4.45900773, - -2.44688559, - -2.83298183, - -2.00733658, - 7.33444256, - 7.09187373, - -1.97065392, - 0.01623084, - -7.48861264, - -1.17790161, - 2.77126775, - -2.55552037, - 3.3518257, - -0.09316856, - -1.94521413, - 0.50089251, - -2.75763233, - -1.94382637, - 1.30562041, - 5.08351043, - -1.90604837, - -0.80030045, - -4.87093267, - 4.18009666, - -2.9011435, - 2.58497143, - 4.47495176, - -0.9639419, - 8.15692179, - 0.48758731, - -0.62264663, - -1.70677258, - -5.51641378, - 3.98621565, - 0.57749944, - 2.9658081, - -4.10467591, - -7.14827888, - 0.02838605, - -2.48630333, - -4.82178216, - -0.7444178, - 2.48224802, - -1.54683936, - 0.46969412, - -0.0960347, - -2.08290541, - 6.357031, - -3.49716615, - 3.28959028, - 7.83932727, - 1.51457023, - -4.14575033, - 0.02007839, - 4.20953773, - 3.66456664, - -4.67441496, - -0.13296372, - -3.77145766, - 1.49368976, - -2.53627817, - -3.14188618, - 0.24991722, - 0.8770123, - 0.16635733, - -3.15391098, - -3.7733242, - -2.25134676, - 1.00975552, - 1.38717682, + -1.98049388, + -4.58033899, + -6.95508968, + -0.79619016, + 15.58478599, + 2.7636959, + -2.99147438, + -6.94430794, + -1.77877141, + -4.5000298, + -3.12026893, + -8.42191319, + 3.8991195, + 4.85271854, + 8.30541908, + -1.0435944, + -4.42713079, + 19.70011955, + -6.53945284, + 0.85064846, + 4.36868488, + 4.77303801, + 3.00829128, + 0.70043584, + -7.69047143, + -0.0647043, + 4.56830405, + -8.67154404, + -4.64015279, + -7.62202078, + -8.97078455, + -5.19685985, + -1.66080276, + -6.03225716, + -4.06780949, + -0.53046979, + 8.3543131, + -1.84893576, + 2.42669245, + -4.26357086, + -11.33995527, + 10.98529887, + -10.70000829, + -4.50179402, + -1.34978505, + -8.83091676, + -11.85324773, + -3.6305035, + 2.89933807, + 4.65750153, + 1.25464578, + -5.06196944, + 10.05305042, + -1.83868447, + -11.57017913, + -2.03900316, + -3.37235187, + -1.37010554, + -2.93769471, + 0.11905709, + 6.99367431, + 3.48640865, + -4.16242817, + 4.44778342, + -0.98405367, + 1.81581506, + -5.31481686, + 8.72426364, + 4.78954098, + 7.67879332, + -5.00417706, + 0.79717914, + -3.20581567, + -2.96034568, + 6.31165294, + 2.9891188, + -12.2013139, + -13.67496037, + 4.77102881, + 2.71353286, + 6.83849229, + -3.50400312, + 1.3839428, + -5.07550528, + -8.5623218, + 17.64081151, + 6.46051807, + 2.89067584, + 14.23057359, + 17.85941763, + -6.46129295, + -3.43602528, + -3.13520203, + 4.45313732, + -5.23012576, + -2.65929557, + -0.66191939, + 4.47530191, + 9.33992973, + -6.29808733, ] ) @@ -230,104 +231,104 @@ def test_model(self): [ -0.33019322, -0.76332506, - -0.32665648, - -0.76601747, - -1.16441856, - -0.13627609, -1.15916671, -0.13280604, - 2.60139518, - 0.44470952, - -0.48316771, - -1.15926141, 2.59680457, 0.46049936, - -0.29459777, - -0.76433726, - -0.52091744, - -1.39903065, -0.49890317, -1.15747878, - 0.66585524, - 0.81804842, - 1.38592217, - -0.18025826, -0.2964021, -0.74953328, - -0.7427461, - 3.27935087, - -1.09340192, - 0.1462458, -0.51982728, -1.40236941, - 0.73902497, - 0.79969456, - 0.50726592, - 0.11403234, 0.64964525, 0.8084967, - -1.27543102, - -0.00571457, - 0.7748912, - -1.42492251, 1.38371838, -0.17366078, - -0.76119888, - -1.26083707, - -1.48263244, - -0.85698727, -0.7374573, 3.28274006, - -0.27029769, - -1.00478711, - -0.67481511, - -0.07978058, -1.09001574, 0.14173437, - 1.4092343, - -0.31785424, - 0.40551362, - -0.71900495, 0.7269307, 0.79545851, - -1.88407155, - 1.83983772, - -1.78413438, - -0.74852344, 0.50059876, 0.1165872, - -0.2139368, - -1.44989426, - -1.96651281, - -0.6031689, -1.28106632, -0.01107711, - 0.48796663, - 0.76500912, - 0.21308153, - -0.85297893, 0.76139868, -1.44547292, - 1.68105021, - -0.30655702, - -1.93123, - -0.34294737, -0.77352498, -1.26982082, - -0.5562998, - -0.22048683, - -0.48641512, - 0.01124872, -1.49597963, -0.86647985, - 1.17310075, - 0.59402879, - -0.705076, - 0.72991794, -0.27728806, -1.00542829, - -0.16289102, - 0.29464248, + -0.67794229, + -0.08898442, + 1.39205396, + -0.30789099, + 0.40393006, + -0.70982912, + -1.88961087, + 1.830906, + -1.78326071, + -0.75013615, + -0.22537904, + -1.47257916, + -1.9756803, + -0.60493323, + 0.48350014, + 0.77676571, + 0.20885468, + -0.84351691, + 1.67501205, + -0.30662021, + -1.92884376, + -0.34021625, + -0.56212664, + -0.22884438, + -0.4891038, + 0.0199886, + 1.16506594, + 0.58068956, + -0.69376438, + 0.74156043, + -0.16360848, + 0.30303168, + -0.88639571, + 1.453683, + 0.79818052, + 1.2796414, + -0.8335433, + 0.13359098, + -0.53425462, + -0.4939294, + 1.05247266, + 0.49770575, + -2.03320073, + -2.27918678, + 0.79462598, + 0.45187804, + 1.13925239, + -0.58410808, + 0.23092918, + -0.84611213, + -1.42726499, + 2.93985879, + 1.07635712, + 0.48092082, + 2.37197063, + 2.97647126, + -1.07670667, + -0.57300341, + -0.52316403, + 0.74274268, + -0.87188274, + -0.44279998, + -0.11060956, + 0.74619435, + 1.55646754, + -1.05043903, ] )