Prediction and Evaluation#

enerzyme predict runs batch inference and optional metric reporting. Entry: enerzyme/predict.py (FFPredict).

Command#

enerzyme predict -c predict.yaml -o results/ -m model_dir/ -mc config.yaml
  • -m — directory with checkpoints and usually config.yaml

  • -mc — model configuration (defaults to model_dir/config.yaml)

  • -c — prediction overrides for Datahub and Metric

  • -s--simple_predict (no metric aggregation)

Config overrides#

Prediction YAML typically overrides:

Datahub:
    data_path: external_test.pkl
    data_format: pickle
    features:
        Ra: coord
        Za: atom_type
    preload: true
    targets:
        E: energy
        Fa: grad
Metric:
    E:
        rmse: 1
    Fa:
        rmse: 52.917721
Trainer:
    non_target_features:
        - E_var
        - Fa_var

Neighbor list and transforms should stay consistent with training unless you intentionally change preprocessing.

Test set sources#

  1. External file — set Datahub.data_path in predict config

  2. Training split — omit override; uses partitions from training config

  3. Simulation trajectory pickle — e.g. plumed.traj.pkl from MD for downstream extract

Outputs#

  • Per-active-model prediction pickles under output_dir

  • Summary CSV when Metric is defined

  • Uncertainty columns when model supports them and non_target_features is set

Simple predict mode#

Use -s for geometry-only inference without ground-truth targets or metric CSV. Useful inside pipelines that only need forces/energies on new structures.

Multi-model predict#

All active: true models in Modelhub are evaluated. Disable unused models in the saved training config or maintain separate model directories.