In this section, we will take $deepmd_source_dir/examples/water/se_e2_a/input.json as an example of the input file.
The construction of the fitting net is give by section fitting_net
"fitting_net" : {
"neuron": [240, 240, 240],
"resnet_dt": true,
"seed": 1
},neuronspecifies the size of the fitting net. If two neighboring layers are of the same size, then a ResNet architecture is built between them.- If the option
resnet_dtis settrue, then a timestep is used in the ResNet. seedgives the random seed that is used to generate random numbers when initializing the model parameters.
The loss function for training energy is given by
loss = pref_e * loss_e + pref_f * loss_f + pref_v * loss_v
where loss_e, loss_f and loss_v denote the loss in energy, force and virial, respectively. pref_e, pref_f and pref_v give the prefactors of the energy, force and virial losses. The prefectors may not be a constant, rather it changes linearly with the learning rate. Taking the force prefactor for example, at training step t, it is given by
where lr(t) denotes the learning rate at step t. start_pref_f and limit_pref_f specifies the pref_f at the start of the training and at the limit of t -> inf.
The loss section in the input.json is
"loss" : {
"start_pref_e": 0.02,
"limit_pref_e": 1,
"start_pref_f": 1000,
"limit_pref_f": 1,
"start_pref_v": 0,
"limit_pref_v": 0
}The options start_pref_e, limit_pref_e, start_pref_f, limit_pref_f, start_pref_v and limit_pref_v determine the start and limit prefactors of energy, force and virial, respectively.
If one does not want to train with virial, then he/she may set the virial prefactors start_pref_v and limit_pref_v to 0.