Read this reference when labeled DeePMD systems are used to select a checkpoint or admit a model for production. A bounded smoke test is not a complete held-out evaluation.
- Keep held-out systems independent of training and validation by system, trajectory, or source family; do not randomly split correlated adjacent frames.
- Enumerate every held-out system and all of its
set.*directories. - Set
natomsto the number of whitespace-separated entries intype.raw. Require coordinate and force widths of3 * natoms, one energy row per frame, nine box values per periodic frame, and finite values for every evaluated label. - Interpret
type.rawas zero-based indices into that system's orderedtype_map.raw. Compare model and data types by element identity, not by copying dataset indices into another type map.
Use the backend required by the exact candidate artifact. For a DPA4/SeZM native checkpoint, run one command per held-out system:
dp --pt test -m selected.pt -s held_out/system.000 -n 0 -d details/system.000-n 0 evaluates all frames. Require explicit -m, -s, and a unique -d
prefix for each system. Preserve the command, log, true exit code, checkpoint
SHA256, and dataset identity. Do not overwrite existing detail files silently.
For an energy model, retain the emitted total-energy (.e.out),
energy-per-atom (.e_peratom.out), and force (.f.out) details. Retain
virial/stress details only when both reference labels and model outputs exist.
Require:
- energy rows equal the evaluated frame count;
- force rows equal
frames * natoms, with xyz stored as columns; - all reference and prediction values are finite;
- energy-per-atom errors come directly from
.e_peratom.out, or total-energy errors are divided bynatomsexactly once.
Reject missing systems, partial frame coverage, reused detail prefixes, and results tied to another checkpoint hash.
For every available label, report per-system MAE, RMSE, units, sample count, and
the population standard deviation (ddof=0) of the corresponding held-out
reference values. Report an absent label as N/A, never zero. Aggregate from all
retained rows; do not average per-system RMSE values.
Build parity plots from unrounded detail rows, with reference on x, prediction on
y, an equal-aspect y=x line, system identity, checkpoint hash, units, sample
count, RMSE, and reference-label standard deviation.
Admit the candidate only when every declared held-out system is complete and the declared thresholds pass. Training logs, a successful freeze, or a LAMMPS canary cannot replace this evaluation.