M3GNETSettings#
- pydantic model autoplex.settings.M3GNETSettings[source]#
Model describing the hyperparameters for the M3GNET fits.
- field exp_name: str = 'training'#
Name of the experiment
- field results_dir: str = 'm3gnet_results'#
Directory to save the results
- field foundation_model: str | None = None#
Pretrained model. Can be a Path to locally stored model or name of pretrained PES model available in the matgl (M3GNet-MP-2021.2.8-PES or M3GNet-MP-2021.2.8-DIRECT-PES). When name of model is provided, ensure system has internet access to be able to download the model.If None, the model will be trained from scratch.
- field use_foundation_model_element_refs: bool = False#
Use element refs from the foundation model
- field allow_missing_labels: bool = False#
Allow missing labels
- field cutoff: float = 5.0#
Cutoff radius of the graph
- field threebody_cutoff: float = 4.0#
Cutoff radius for 3 body interactions
- field batch_size: int = 10#
Batch size
- field max_epochs: int = 1000#
Maximum number of epochs
- field include_stresses: bool = True#
Whether to include stresses
- field data_mean: float = 0.0#
Mean of the training data
- field data_std: float = 1.0#
Standard deviation of the training data
- field decay_steps: int = 1000#
Number of steps for decaying learning rate
- field decay_alpha: float = 0.96#
Parameter determines the minimum learning rate
- field dim_node_embedding: int = 128#
Dimension of node embedding
- field dim_edge_embedding: int = 128#
Dimension of edge embedding
- field dim_state_embedding: int = 0#
Dimension of state embedding
- field energy_weight: float = 1.0#
Weight for energy loss
- field element_refs: np.ndarray | None = None#
Element offset for PES
- field force_weight: float = 1.0#
Weight for forces loss
- field include_line_graph: bool = True#
Whether to include line graph
- field loss: Literal['mse_loss', 'huber_loss', 'smooth_l1_loss', 'l1_loss'] = 'mse_loss'#
Loss function used for training
- field loss_params: dict | None = None#
Loss function parameters
- field lr: float = 0.001#
Learning rate for training
- field magmom_target: Literal['absolute', 'symbreak'] | None = 'absolute'#
Whether to predict the absolute site-wise value of magmoms or adapt the loss function to predict the signed value breaking symmetry. If None given the loss function will be adapted.
- field magmom_weight: float = 0.0#
Weight for magnetic moments
- field max_l: int = 4#
Maximum degree of spherical harmonics
- field max_n: int = 4#
Maximum number of radial basis functions
- field nblocks: int = 3#
Number of blocks
- field optimizer: Optimizer | None = None#
Optimizer
- field rbf_type: Literal['Gaussian', 'SphericalBessel'] = 'Gaussian'#
Type of radial basis function
- field scheduler: LRScheduler | None = None#
Learning rate scheduler
- field stress_weight: float = 0.0#
Weight for stress loss
- field sync_dist: bool = False#
Sync logging across all GPU workers
- field is_intensive: bool = False#
Whether the prediction is intensive
- field units: int = 128#
Number of neurons in each MLP layer