loss.out

This files contains the terms that enter the loss function, written every output_interval generations (100 by default).

File format

The file starts with a header of lines beginning with #:

# format_version 1
# output_interval 100
# columns generation total L1 L2 rmse_energy_train ...
  • format_version is the version of the file format.

  • output_interval is the number of generations between two rows.

  • columns lists the names of the columns in each row.

Each run writes this header before its rows. A file that a restarted run appends to thus contains several headers.

If a potential model is trained, the columns are:

generation total L1 L2 rmse_energy_train rmse_force_train rmse_virial_train rmse_energy_test rmse_force_test rmse_virial_test

where

  • generation is the current generation.

  • total is the total loss function.

  • L1 is the loss function related to the \(\mathcal{L}_1\) regularization.

  • L2 is the loss function related to the \(\mathcal{L}_2\) regularization.

  • rmse_energy_train is the energy RMSE (in units of eV/atom) for the training set.

  • rmse_force_train is the force RMSE (in units of eV/Å) for the training set.

  • rmse_virial_train is the virial RMSE (in units of eV/atom) for the training set.

  • rmse_energy_test is the energy RMSE (in units of eV/atom) for the test set.

  • rmse_force_test is the force RMSE (in units of eV/Å) for the test set.

  • rmse_virial_test is the virial RMSE (in units of eV/atom) for the test set.

If a potential model with charges (charge_mode or charge_vdw) is trained, the columns are:

generation total L1 L2 rmse_energy_train rmse_force_train rmse_virial_train rmse_charge_train rmse_bec_train rmse_energy_test rmse_force_test rmse_virial_test rmse_charge_test rmse_bec_test

where

  • rmse_charge_train and rmse_charge_test are the RMSE of the total charge (in units of e/atom) for the training and test sets.

  • rmse_bec_train and rmse_bec_test are the BEC RMSE (in units of e) for the training and test sets.

If the energy-difference loss is active through the keyword lambda_d, the columns of a potential model are followed by:

rmse_ediff_train rmse_ediff_test

where

  • rmse_ediff_train is the RMSE of the energy combinations (in units of eV) over the training combinations of ediff.in in the mini-batch of the current generation, like the other training columns. Each squared error enters with the weight of its combination, and the sum is divided by the number of combinations. total contains it multiplied by \(\lambda_d\). It is 0 for a mini-batch without training combinations.

  • rmse_ediff_test is the same RMSE over all test combinations, since the test set forms a single batch. It is 0 without a test set or without test combinations.

If a dipole model is trained, the columns are:

generation total L1 L2 rmse_dipole_train rmse_dipole_test

where

  • rmse_dipole_train is the dipole RMSE (per atom) for the training set.

  • rmse_dipole_test is the dipole RMSE (per atom) for the test set.

If a polarizability model is trained, the columns are:

generation total L1 L2 rmse_polarizability_train rmse_polarizability_test

where

  • rmse_polarizability_train is the polarizability RMSE (per atom) for the training set.

  • rmse_polarizability_test is the polarizability RMSE (per atom) for the test set.

If a Spin NEP potential is trained, each row contains the following fields:

generation total L1 L2 rmse_energy_train rmse_force_train rmse_virial_train rmse_mforce_train rmse_tau_train rmse_energy_test rmse_force_test rmse_virial_test rmse_mforce_test rmse_tau_test

Here, rmse_mforce is the Cartesian magnetic-force RMSE in eV/muB and rmse_tau is the RMSE of \(\boldsymbol{s}_i\times\boldsymbol{M}_i\), in eV. Only structures containing magnetic-force labels contribute to these two terms. The grouped magnetic-response loss, when enabled, contributes to total but currently has no separate output column.

With independent magnetic losses, four additional columns precede any energy-difference columns:

rmse_m_parallel_train rmse_m_perp_train rmse_m_parallel_test rmse_m_perp_test

They report unweighted RMSE in eV/muB, normalized by one parallel or two perpendicular degrees of freedom. Training columns describe the current batch; test columns are zero if no test set is supplied. Use the # columns header to identify columns for the selected objective.