deepmd.pt_expt.fitting.property_fitting

deepmd.pt_expt.fitting.property_fitting#

Classes#

PropertyFittingNet

Fitting the rotationally invariant properties of task_dim of the system.

Module Contents#

class deepmd.pt_expt.fitting.property_fitting.PropertyFittingNet(ntypes: int, dim_descrpt: int, task_dim: int = 1, neuron: list[int] = [128, 128, 128], bias_atom_p: deepmd.dpmodel.array_api.Array | None = None, rcond: float | None = None, trainable: bool | list[bool] = True, intensive: bool = False, property_name: str = 'property', resnet_dt: bool = True, numb_fparam: int = 0, numb_aparam: int = 0, dim_case_embd: int = 0, activation_function: str = 'tanh', precision: str = DEFAULT_PRECISION, mixed_types: bool = True, exclude_types: list[int] = [], type_map: list[str] | None = None, default_fparam: list | None = None, distinguish_types: bool = True, seed: int | None = None)[source]#

Bases: deepmd.dpmodel.fitting.property_fitting.PropertyFittingNet

Fitting the rotationally invariant properties of task_dim of the system.

Parameters:
ntypes

The number of atom types.

dim_descrpt

The dimension of the input descriptor.

task_dim

The dimension of outputs of fitting net.

neuron

Number of neurons \(N\) in each hidden layer of the fitting net

bias_atom_p

Average property per atom for each element.

rcond

The condition number for the regression of atomic energy.

trainable

If the weights of fitting net are trainable. Suppose that we have \(N_l\) hidden layers in the fitting net, this list is of length \(N_l + 1\), specifying if the hidden layers and the output layer are trainable.

intensive

Whether the fitting property is intensive.

property_name:

The name of fitting property, which should be consistent with the property name in the dataset. If the data file is named humo.npy, this parameter should be “humo”.

resnet_dt

Time-step dt in the resnet construction: \(y = x + dt * \phi (Wx + b)\)

numb_fparam

Number of frame parameter

numb_aparam

Number of atomic parameter

activation_function

The activation function \(\boldsymbol{\phi}\) in the embedding net. Supported options are “gelu”, “gelu_tf”, “relu”, “silut”, “none”, “silu”, “tanh”, “softplus”, “sigmoid”, “linear”, “relu6”.

precision

The precision of the embedding net parameters. Supported options are “default”, “bfloat16”, “float64”, “float16”, “float32”.

mixed_types

If false, different atomic types uses different fitting net, otherwise different atom types share the same fitting net.

exclude_types: list[int]

Atomic contributions of the excluded atom types are set zero.

type_map: list[str], Optional

A list of strings. Give the name to each type of atoms.

default_fparam: list[float], optional

The default frame parameter. If set, when fparam.npy files are not included in the data system, this value will be used as the default value for the frame parameter in the fitting net.

distinguish_typesbool

Whether to distinguish atom types when computing output statistics.