RunManifest
RunManifest(
falconage_version=__version__,
registry_version=REGISTRY_VERSION,
started_utc=(lambda: datetime.now(timezone.utc).isoformat())(),
finished_utc=None,
device='cpu',
dtype='float64',
backend='numpy',
device_requested='cpu',
python=(lambda: sys.version.split()[0])(),
platform=platform.platform(),
caller='python',
config=dict(),
inputs=list(),
weights=dict(),
compute=dict(),
coverage=dict(),
warnings=list(),
skipped=dict(),
preanalytical=dict(),
)Provenance for one scoring run.
Methods
| Name | Description |
|---|---|
| compute_summary | One line naming every device and precision the run used. |
| record_compute | Note what one clock actually computed in, and refresh the summary. |
| refresh_compute_summary | Re-derive the three scalar fields from compute. |
compute_summary
RunManifest.compute_summary()One line naming every device and precision the run used.
"torch:cuda/float64" when the run was uniform, and "torch:cuda/float64 (20 clocks), numpy:cpu/float64 (3)" when it was not. The scalar fields alone cannot say the second thing, and printing "mixed:mixed/mixed" in a report would be worse than saying nothing.
record_compute
RunManifest.record_compute(clock_id, spec)Note what one clock actually computed in, and refresh the summary.
Called per clock by :func:falconage.score.score with the spec the model reported through :func:falconage.models.effective_spec, which is not always the spec the run requested.
refresh_compute_summary
RunManifest.refresh_compute_summary()Re-derive the three scalar fields from compute.
Public because :func:falconage.score.combine fills compute from several manifests at once rather than one clock at a time.