smoke_v0 — CI load-path probe¶
Status — CI internal. This is not a quality model and must not be used for video quality assessment. It exists solely as a load-path probe for the libvmaf DNN integration CI gate.
smoke_v0 is a minimal ONNX graph (Conv + Identity, one initializer tensor, opset 17) used to verify that the C-side DNN loader, the ONNX wire-format scanner, the op-allowlist gate, and the ORT execution path all function correctly without requiring any training corpus or real model weights. It is exercised in core/test/ as part of the repository runner's --suite=fast gate.
Checkpoint facts¶
| Field | Value |
|---|---|
| Model id | smoke_v0 |
| Location | model/tiny/smoke_v0.onnx |
| Architecture | Conv (1-weight kernel) + Identity — intentional CI probe |
| Trainable parameters | 1 (1-element Conv kernel; no bias) |
| Input | features — float32 [1, 1, 4, 4] |
| Output | score — float32 [1, 1, 4, 4] |
| Training | None: the single Conv weight is a synthetic constant written by scripts/gen_smoke_onnx.py |
| ONNX opset | 17 |
| License | BSD-2-Clause-Patent |
| Registry entry | smoke_v0 in model/tiny/registry.json ("smoke": true) |
| SHA-256 | c83a5f217fa3736bf575c52f7f4c187a6201951e8ddccb51bdcdcc136108fbe0 |
Purpose¶
The DNN integration CI gate needs a model file that:
- Loads without error through the ONNX wire-format scanner.
- Passes the op-allowlist check (Conv + Identity are both on the allowlist in
core/src/dnn/op_allowlist.c). - Runs a forward pass through ORT without segfault or numerical error.
- Does not require an actual training corpus, GPU, or network access.
smoke_v0 satisfies all four criteria with a trivial 1-weight Conv. The model is registered with "smoke": true in registry.json so validation scripts know to skip quality-metric assertions for it.
Evaluation metrics¶
Intentional smoke probe — not evaluated on any quality corpus. PLCC / SROCC / RMSE figures are not applicable. The only gate the model must pass is ORT load-and-run without error.
Runnable usage example¶
# Verify via the C unit test suite:
python3 "$(git rev-parse --show-toplevel)/scripts/ci/run_meson_test.py" -- \
-C build --suite=dnn test_dnn_session_api
# Or inspect the session inputs via Python:
python3 -c "import onnxruntime as ort; sess = ort.InferenceSession('model/tiny/smoke_v0.onnx'); print('Loaded inputs:', [i.name for i in sess.get_inputs()])"
Known limitations / when NOT to use¶
- Do not use for video quality assessment of any kind.
- Do not reference
smoke_v0as a production model in any downstream pipeline. Its Conv kernel weight is a synthetic constant; its output has no relation to perceptual quality. - The
"smoke": trueregistry flag means model-registry validation scripts skip quality assertions. Any code path that branches onsmoke == falsefor production use will correctly skip this model.
See also¶
smoke_fp16_v0.md— companion fp16 I/O round-trip probe.core/src/dnn/op_allowlist.c— the allowlist this probe exercises.- ADR-0042 — tiny-AI doc-substance rule this card satisfies.