VisionML
Model training that ships a manifest saying exactly what it made.
What it is
A standalone model production service with a command line, visionml, and a control plane that
serves the same registry over HTTP. It loads an image-folder dataset, trains, evaluates, exports
to ONNX, and registers the result with a manifest.json.
The manifest is the product. Schema v3 records model identity and task type, the artifact’s sha256, the preprocessing recipe the consumer must reproduce, output tensor bindings, validated decision thresholds, provenance (dataset hash, seeds, framework versions), parity evidence against the training framework, the pinned runtime contract, an acceptance gate with its configured criteria and measured values, and the application-domain contract: what job the version is approved for, where it may execute, and the thresholds below which it must abstain.
Who it is for
Whoever trains the model, and whoever later has to say what that model was. VisionML is app-neutral by design: VisionAI is a consumer, not the owner, and no consumer-specific logic lives here.
How it is governed
Registration fails closed. If a configured acceptance criterion fails, or the metric it needs is missing, the model is not registered. Parity evidence must pass unless it is explicitly waived, and a waiver is recorded as such. The preprocessing recipe is part of the contract because train-and-serve skew is otherwise invisible: interpolation is linear only, and any other value fails closed.
What it does not do
It does not decide. Hosted inference exists but is deliberately narrow: it runs a pinned, approved version only when the package itself declares cloud execution, refuses anything site-confined, and returns the outputs, the identity of what produced them and the thresholds the package declares — never a verdict. It does not decide that a model is approved for a line or a bench — that is a change-controlled decision made by the people who own the process; VisionML records the decision and refuses to run outside it. Signed artifact distribution is not shipped: a download is a short-lived scoped URL over content-addressed bytes, verified by digest, not a cryptographically signed package.
Status
In development. Real ONNX export is implemented and byte-reproducible — the same fitted model
exports to the same bytes, so a provenance record can be checked by rebuilding and comparing
digests — and registration is gated by a golden-sample parity check against onnxruntime. The
controlled lifecycle (draft, validated, approved, deployed, retired, and revoked from any state)
and an append-only audit log are shipped. visionml demo still registers a data-free placeholder
graph, and registration accepts that only under an explicit allow_unverified waiver, recorded
as one.
Related
VisionAI consumes the manifest through its inference backend. Digital Labs consumes the same shape of package on device, verifying the digest before it will run anything.