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.