Source code for autoplex.fitting.mlip_hypers

"""Module defining hyperparameter sets for MLIP fits."""

from pydantic import ConfigDict, Field

from autoplex._basemodel import AutoplexBaseModel
from autoplex.fitting.mlip_hypers._gap_hypers import GAPSettings
from autoplex.fitting.mlip_hypers._jace_hypers import JACESettings
from autoplex.fitting.mlip_hypers._m3gnet_hypers import M3GNETSettings
from autoplex.fitting.mlip_hypers._mace_hypers import MACESettings
from autoplex.fitting.mlip_hypers._nep_hypers import NEPSettings
from autoplex.fitting.mlip_hypers._nequip_hypers import NEQUIPSettings
from autoplex.fitting.mlip_hypers._pace_hypers import PacemakerSettings


[docs] class MLIPHypers(AutoplexBaseModel): """Model containing the hyperparameter defaults for supported MLIPs in autoplex.""" GAP: GAPSettings = Field( default_factory=GAPSettings, description="Hyperparameters for the GAP model" ) J_ACE: JACESettings = Field( default_factory=JACESettings, description="Hyperparameters for the J-ACE model", alias="J-ACE", ) NEQUIP: NEQUIPSettings = Field( default_factory=NEQUIPSettings, description="Hyperparameters for the NEQUIP model", ) M3GNET: M3GNETSettings = Field( default_factory=M3GNETSettings, description="Hyperparameters for the M3GNET model", ) MACE: MACESettings = Field( default_factory=MACESettings, description="Hyperparameters for the MACE model" ) NEP: NEPSettings = Field( default_factory=NEPSettings, description="Hyperparameters for the NEP model" ) P_ACE: PacemakerSettings = Field( default_factory=PacemakerSettings, description="Hyperparameters for the P-ACE model", alias="P-ACE", ) model_config = ConfigDict( populate_by_name=True, validate_assignment=True, extra="forbid", revalidate_instances="never", )