PDE-OBS: trained baseline checkpoints
Final checkpoints of the PDE-OBS campaign: one model per (PDE family, method, training observation pattern). Each checkpoint is the final recorded checkpoint of its attempt, not one selected on validation or test error.
440 of the 441 credited settings are published here. The missing one is
heat/transolver/random_50pct: its credited checkpoint (SHA-256 ff620073..., 257 epochs) was
overwritten when that attempt directory kept training after its evaluation, and no copy survives on
any archive host. The evaluation record for that setting is intact and its scores remain in the
results index; only the weight file is unavailable. No substitute checkpoint is published in its
place, because a rerun would produce different weights and could not carry the credited identity.
This repository accompanies an anonymous submission under double-blind review.
Layout
models/<cluster-label>/<pde>/<method>/<train_view>/
checkpoints/last.pt final checkpoint (weights, scheduler state, history, resolved config)
checkpoints/training_config.json resolved trainer configuration
identity.json completion.json health.json history.json
split_manifest.json factor_coverage.json provenance.json resolved.yaml
budget-protocol.json | dynamic-protocol.json (cohort dependent)
models_manifest.<cluster-label>.json per-file SHA-256 before and after anonymization
The cluster labels (cluster-A, cluster-B, cluster-C) stand for the three machines the campaign ran on;
they carry no institutional meaning.
Loading a checkpoint
import torch
payload = torch.load("checkpoints/last.pt", map_location="cpu", weights_only=False)
payload["model_state"] # parameters
payload["config"] # resolved training configuration
payload["history"] # per-epoch training record
The architecture is rebuilt from the benchmark's own registry, for example:
from pdeobs import api
module, config = api.create_model("fno", task="recovery", preset="paper")
module.load_state_dict(payload["model_state"])
Important properties
- Weights only by default. Optimizer, gradient-scaler and RNG states were removed (about two thirds of
each file);
dropped_keysin the manifest records this per checkpoint. The checkpoints therefore support inference and rescoring, not exact continuation of training. - Anonymized metadata. Every string naming a filesystem path, account, node or scheduler job was rewritten
to a placeholder such as
<ROOT_A>or<USER>. Model parameters were not modified.models_manifest.*.jsonrecords both the original SHA-256 (the identity the paper binds to) and the SHA-256 of the released file. - Training cohorts are not interchangeable. Each entry carries its cohort label: the original 500-epoch protocol, a recovered continuation of it, a declared 200-epoch budget, a budgeted max-200 patience protocol, or a salvaged interrupted attempt. Any table that pools cohorts must say so per row.
- Scoring provenance. The campaign metrics that accompany these checkpoints were produced by the campaign's own evaluator, not by the release's strict scorer; the evaluation records and their provenance labels live in the benchmark repository's archived-results index.
- No claim is made that these checkpoints have been independently rescored from prediction arrays.
Citation
Anonymous submission under review. Please cite the paper once it is public.