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_versionis the version of the file format.output_intervalis the number of generations between two rows.columnslists 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
generationis the current generation.totalis the total loss function.L1is the loss function related to the \(\mathcal{L}_1\) regularization.L2is the loss function related to the \(\mathcal{L}_2\) regularization.rmse_energy_trainis the energy RMSE (in units of eV/atom) for the training set.rmse_force_trainis the force RMSE (in units of eV/Å) for the training set.rmse_virial_trainis the virial RMSE (in units of eV/atom) for the training set.rmse_energy_testis the energy RMSE (in units of eV/atom) for the test set.rmse_force_testis the force RMSE (in units of eV/Å) for the test set.rmse_virial_testis 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_trainandrmse_charge_testare the RMSE of the total charge (in units of e/atom) for the training and test sets.rmse_bec_trainandrmse_bec_testare 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_trainis 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.totalcontains it multiplied by \(\lambda_d\). It is 0 for a mini-batch without training combinations.rmse_ediff_testis 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_trainis the dipole RMSE (per atom) for the training set.rmse_dipole_testis 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_trainis the polarizability RMSE (per atom) for the training set.rmse_polarizability_testis the polarizability RMSE (per atom) for the test set.