Skip to content

v0.6.1

Choose a tag to compare

@yury-lysogorskiy yury-lysogorskiy released this 03 Sep 15:29
· 2 commits to master since this release

Patch release on top of 0.6.0.


1. Foundation models re-exported (model-v5-uq-v6)

The distributed UQ-enabled models were rebuilt to fix a NaN in virial_sigma (the uncertainty contribution to the virial).

If you already have models in $HOME/.cache/grace, refresh them:

grace_models update --all --dry-run   # report what is stale, download nothing
grace_models update --all             # refresh it

The cache is keyed by model name, so upgrading the package alone never replaces a payload that is already on disk — hence the new update subcommand. Each cached model and checkpoint directory now carries a .grace_origin.json provenance sidecar recording the URL it was fetched from; update compares that against the URL the installed package would use and re-downloads only the mismatches. The old copy is moved aside and deleted only once the new download succeeds, and directories you curate yourself — symlinked cache entries, or explicit path: overrides in models_registry.yaml — are never replaced. kokkos.npz is distributed separately, so re-fetch it with grace_models download <model> --kokkos afterwards if you use the LAMMPS-Kokkos pair styles.

Docs: Updating cached models

2. Tunable UQ threshold calibration

grace_uq build --threshold-percentile Q calibrates gamma so that gamma = 1 sits at the Q-th percentile of each cluster's training sigma histogram, instead of the default median + 3*(1.4826*MAD) robust outlier fence. Intended for training sets where a large fraction of training atoms reads gamma > 1.

  • Q is validated, the artifact records which estimator produced its thresholds, and grace_uq info reports it — warning when the quantile rides a heavy tail.
  • Gamma from a percentile-calibrated artifact is not comparable with gamma from a default-calibrated one.

Docs: Calibrating the threshold

3. Bulk prediction helper

New predict_structures (tensorpotential/calculator/bulk.py) evaluates any ASE calculator over a list of structures with a single calculator instance, returning input-aligned lists and harvesting extra result keys such as per-atom gamma. Both grace_predict and the grace_uq predict CLI now route through it.

from tensorpotential.calculator import TPCalculator, predict_structures

out = predict_structures(structures, TPCalculator(model="GRACE-2L-OAM"),
                         properties=("energy",), extra=("gamma",))

Docs: Python API: predict_structures

Fixes

  • NaN in virial_sigma produced by zero-basis atoms under XLA.

Full changelog: 0.6.0...0.6.1