deepmd.pt_expt.model#
Submodules#
- deepmd.pt_expt.model.dipole_model
- deepmd.pt_expt.model.dos_model
- deepmd.pt_expt.model.dp_linear_model
- deepmd.pt_expt.model.dp_zbl_model
- deepmd.pt_expt.model.ener_model
- deepmd.pt_expt.model.frozen
- deepmd.pt_expt.model.get_model
- deepmd.pt_expt.model.make_model
- deepmd.pt_expt.model.model
- deepmd.pt_expt.model.polar_model
- deepmd.pt_expt.model.property_model
- deepmd.pt_expt.model.spin_ener_model
- deepmd.pt_expt.model.spin_model
- deepmd.pt_expt.model.transform_output
Classes#
Common methods for DP models. | |
Common methods for DP models. | |
Common methods for DP models. | |
Common methods for DP models. | |
Common methods for DP models. | |
Load model from a frozen model file, which cannot be trained. | |
Base class for pt_expt models. | |
Common methods for DP models. | |
Common methods for DP models. | |
A spin model for energy. |
Functions#
| Make a model that can compute Hessian. |
| Get a model from a config dictionary. |
Package Contents#
- deepmd.pt_expt.model.make_hessian_model(T_Model: type) type[source]#
Make a model that can compute Hessian.
With the JAX-mirrored approach, hessian is computed in
forward_common_atomic(in make_model.py) on extended coordinates. This wrapper only needs to overrideatomic_output_def()to setr_hessian=True, andcommunicate_extended_outputin dpmodel naturally maps it from nall to nloc.- Parameters:
- T_Model
The model. Should provide the
atomic_output_defmethod.
- Returns:
Themodelthatcomputeshessian.
- class deepmd.pt_expt.model.DipoleModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPDipoleModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
- class deepmd.pt_expt.model.DOSModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPDOSModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
- class deepmd.pt_expt.model.LinearEnergyModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPLinearModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
- class deepmd.pt_expt.model.DPZBLModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPZBLModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
- class deepmd.pt_expt.model.EnergyModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPEnergyModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- _hessian_enabled = False#
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
Trace
forward_lowerinto an exportable module.Delegates to
forward_common_lower_exportablefor tracing, then translates the internal keys to theforward_lowerconvention.- Parameters:
- extended_coord, extended_atype, nlist, mapping, fparam, aparam, do_atomic_virial
Sample inputs with representative shapes (used for tracing).
- **make_fx_kwargs
Extra keyword arguments forwarded to
make_fx(e.g.tracing_mode="symbolic").
- Returns:
torch.nn.ModuleA traced module whose
forwardaccepts(extended_coord, extended_atype, nlist, mapping, fparam, aparam)and returns a dict with the same keys asforward_lower.
- class deepmd.pt_expt.model.FrozenModel(model_file: str, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.frozen.FrozenModelLoad model from a frozen model file, which cannot be trained.
The frozen model delegates all operations to the deserialized inner model.
serialize()returns the inner model’s data, anddeserialize()dispatches to the appropriate model class viaBaseModel.deserialize.- Parameters:
- model_file
str The path to the frozen model file.
- model_file
- model#
- deepmd.pt_expt.model.get_model(data: dict) deepmd.pt_expt.model.model.BaseModel[source]#
Get a model from a config dictionary.
- Parameters:
- data
dict The data to construct the model.
- data
- class deepmd.pt_expt.model.BaseModel[source]#
Bases:
make_base_model()Base class for pt_expt models.
Provides the plugin registry so that model classes can be registered with
@BaseModel.register("ener")etc.See also
deepmd.dpmodel.model.base_model.BaseBaseModelBackend-independent BaseModel class.
- class deepmd.pt_expt.model.PolarModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPPolarModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
- class deepmd.pt_expt.model.PropertyModel(*args: Any, **kwargs: Any)[source]#
Bases:
deepmd.dpmodel.model.dp_model.DPModelCommon,DPPropertyModel_Common methods for DP models.
This class provides common functionality for DeepPot models, including neighbor selection updates and fitting network access.
- forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
Default forward delegates to call().
Subclasses (e.g. EnergyModel) override this with output translation.
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
- class deepmd.pt_expt.model.SpinEnergyModel(backbone_model: deepmd.dpmodel.atomic_model.dp_atomic_model.DPAtomicModel, spin: deepmd.utils.spin.Spin)[source]#
Bases:
deepmd.pt_expt.model.spin_model.SpinModelA spin model for energy.
- model_type = 'ener'#
- translated_output_def() dict[str, Any][source]#
Get the translated output definition.
Maps internal output names to user-facing names, e.g.
energy->atom_energy,energy_redu->energy,energy_derv_r->force,energy_derv_r_mag->force_mag.
- forward(coord: torch.Tensor, atype: torch.Tensor, spin: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower(extended_coord: torch.Tensor, extended_atype: torch.Tensor, extended_spin: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#
- forward_lower_exportable(extended_coord: torch.Tensor, extended_atype: torch.Tensor, extended_spin: torch.Tensor, nlist: torch.Tensor, mapping: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None, **make_fx_kwargs: Any) torch.nn.Module[source]#
Trace
forward_lowerinto an exportable module.Delegates to
forward_common_lower_exportablefor tracing, then translates the internal keys to theforward_lowerconvention.- Parameters:
- extended_coord, extended_atype, extended_spin, nlist, mapping, fparam, aparam, do_atomic_virial
Sample inputs with representative shapes (used for tracing).
- **make_fx_kwargs
Extra keyword arguments forwarded to
make_fx(e.g.tracing_mode="symbolic").
- Returns:
torch.nn.ModuleA traced module whose
forwardaccepts(extended_coord, extended_atype, extended_spin, nlist, mapping, fparam, aparam)and returns a dict with the same keys asforward_lower.