diff --git a/deepmd/pt/model/descriptor/sezm_nn/dens.py b/deepmd/pt/model/descriptor/sezm_nn/dens.py index 8dcf872188..a5f084a0a8 100644 --- a/deepmd/pt/model/descriptor/sezm_nn/dens.py +++ b/deepmd/pt/model/descriptor/sezm_nn/dens.py @@ -746,6 +746,12 @@ def deserialize(cls, data: dict[str, Any]) -> SeZMDeNSFittingNet: config = data.pop("config") variables = data.pop("@variables") obj = cls(**config) - state = {key: safe_numpy_to_tensor(value) for key, value in variables.items()} + template = obj.state_dict() + state = { + key: safe_numpy_to_tensor( + value, device=template[key].device, dtype=template[key].dtype + ) + for key, value in variables.items() + } obj.load_state_dict(state) return obj