Skip to content

v0.6.2

Latest

Choose a tag to compare

@yury-lysogorskiy yury-lysogorskiy released this 15 Oct 15:24

Release on top of 0.6.1.


1. Uncertainty-driven exploration: grace_uq hal

grace_uq hal runs molecular dynamics biased towards high extrapolation grade γ and collects the structures where γ is high, as candidates for new training data.

  • Ensembles: nvt, nvt_ramp, npt, npt_stress, cluster.
  • Many walkers in one call: --ensemble, -T and --tau take several values, --repeats K runs K walkers per setting, --walkers-per-gpu M shares the GPUs. Several --tau values alone are a τ scan.
  • Each walker writes its frames, a history and a diagnostics plot; walkers.csv summarises all walkers.

Then grace_uq select --hal-dirs ... picks the structures to label.

Docs: UQ workflows tutorial, grace_uq hal

2. grace_uq select and grace_uq predict

  • New default strategy calm-greedy: picks the most extrapolative frame first, skips similar ones, and stops at the natural set (-n is optional). The old default was random-extrap.
  • Several strategies in one call, applied in order, e.g. --strategy calm-greedy fps-extrap:25 random-all:25.
  • --hal-dirs finds walker folders at any depth; --model-dir takes model.yaml and the checkpoint from a fit folder.
  • grace_uq predict reads LAMMPS text dumps as --dataset, and --n-workers auto is the default.

3. Changed defaults — please check

  • grace_fm switches UQ off by default, because UQ makes the calculator slower. Before, UQ was on whenever the model had it. To get γ: grace_fm(name, enable_uq=True) or calc.enable_uq().
  • calc.enable_uq() uses the gamma_only mode by default (γ and σ, no extra backward pass). For dsigma_dr / virial_sigma use calc.enable_uq(mode="full").
  • grace_uq build reads thresholds from a σ histogram with about 1 % wide bins (before: a fixed width of 0.4). grace_uq build and grace_uq info warn about clusters whose σ spread is too narrow; rebuild such artifacts.

4. Fixes and smaller changes

  • grace_uq build --export works again with checkpoints written before mid-epoch saving existed.
  • A cache folder with only kokkos.npz no longer counts as a downloaded model.
  • The calculator does not recompile for a small drop in the number of neighbours.
  • cutoff_dict: an explicit element pair wins over a wildcard entry.
  • gen_tensor: [1, 2] tensors are checked as traceless only; metrics per tensor component.
  • extxyz2df / df2extxyz: sensible default output names, and the input is never overwritten.
  • gracemaker -t writes scheduler_params keys that the schedulers actually read.

5. Docs and examples