DEEPBOM

Optional numerical evidence

Connect stored values and recorded activations to model structure.

Default inspection remains static. Weight IR reads numeric payloads only when requested. Activation IR imports an explicit execution capture. Neither changes the existing Model IR schema or its hash.

One structure, separate evidence

Model IR identifies operations, ports, logical values and serialized storage. Weight IR references those storage and binding IDs. Activation IR references logical values and records the input, runtime, collector, execution configuration and capture scope. A numerical evidence bundle references the independent document hashes without a circular dependency.

For a weight shared by several operations, the binding list preserves every use. Tensor containers without a serialized graph retain their numeric inventory; names do not create layers or connections.

Inspect weights

npx -y deepbom@1.104.0 audit model.onnx --weight-analysis --output-format json --section weight_ir -o weight-ir.json

In the web workspace, expand Optional weight and activation evidence and choose Analyze weights. Search the tensor list by name or operation ID and save the complete numerical evidence JSON. ChatGPT's widget also provides Analyze weights · JSON; use its existing Save via ChatGPT control if local downloads are blocked.

FormatAvailable numeric evidenceExplicit limits
ONNXEmbedded dense initializer and attribute payloads using the existing scalar and packed dtype decoders.Unbound external data remains unassessed. Nested payloads are inventoried, with no fabricated storage binding. Sparse values and indices describe their stored components, not a synthesized dense tensor.
TFLiteStored scalar and packed INT4 values with exact serialized ranges, including nested subgraph storage.Integer statistics describe stored codes; they are not automatically dequantized. Sparse or unsupported layouts remain unassessed.
GGUFScalar and supported source-pinned GGML block decoders; block formats report dequantized values.Unsupported or invalid encodings remain visible. A tensor directory alone does not establish a runtime graph.
SafeTensorsSupported scalar, float8 and packed float4 encodings; exact integer extrema for int64/uint64.Producer-specific packing and incomplete quantization contracts remain unassessed. Stored codes are not a claim about dequantized weights.
Core MLLegacy float32/float16 weights and validated linear/LUT/int8-dynamic dequantization; available complete MIL immediate values.Blob-backed or unavailable parameter values remain unassessed in this optional layer. This does not imply missing static Core ML support.
ExecuTorchInline/segmented PTE constants and typed PTD payloads with explicit ranges.Opaque delegate payloads, unresolved external data, nonzero storage offsets and unknown layouts are not decoded as numeric weights.

The first version accepts one serialized artifact at a time. The default limit is 100 million decoded weight values. ONNX/Core ML/ExecuTorch source reparsing and individual byte-range decoding have a 512 MiB memory bound. The ChatGPT widget has a 128 MiB source limit. GGUF and SafeTensors use chunked payload reads. A limit produces a visible unassessed row, never a zero-valued statistic.

Record actual activations

The separate Python collector executes ONNX or TFLite only with --allow-execution. It requires locally installed runtime packages; static CLI and MCP audit do not install or launch them. Use a virtual environment and an artifact you intend to execute.

npx -y deepbom@1.104.0 audit model.onnx --output-format json --section model_ir -o model-ir.json
python -m pip install onnx==1.20.1 onnxruntime==1.24.4 numpy==2.4.3
python scripts/capture-activation-evidence.py model.onnx --model-ir model-ir.json --probe ones --allow-execution --output capture.json
npx -y deepbom@1.104.0 audit model.onnx --activation-evidence capture.json --output-format json --section activation_ir -o activation-ir.json

The collector is available in the source repository and as bin/capture-activation-evidence.py inside the npm package. With a global npm installation, locate it under npm root -g, in deepbom/bin/. For TFLite, install ai-edge-litert==2.2.0 and use the same capture command with a .tflite artifact. Other instrumented runtimes can emit the common activation capture contract.

Use --inputs-npz inputs.npz to provide exact named numeric inputs; pickle loading and implicit dtype casts are disabled. Use --outputs-only to reduce capture scope. The collector caps decoded values at one million and the capture at 16 MiB. Missing values and unrequested graph values are listed separately.

ONNX capture disables graph optimization and exposes selected intermediate tensors as outputs. It records the instrumented artifact hash separately. TFLite preserves tensors with default delegates disabled. These are inspection runs, not production latency benchmarks. Configured providers alone do not prove per-operation device placement.

Interpret the numbers

Counts, histogram bins and integer extrema use decimal integer strings. Floating mean, population standard deviation, RMS and L2 norm use rounded binary64 arithmetic. Overflow is represented by null with an explicit reason. Large int64/uint64 values are never silently rounded to produce a distribution: unsafe floating statistics are withheld while exact extrema and counts remain available. Complex payloads currently expose magnitude statistics with that representation stated.

Histograms use common fixed logarithmic value bins and exact bin counts, with no sampled percentiles. These are tensor-wide summaries, not singular-value decompositions, eigenvectors or claims of effective rank. Ones, zeros and identity matrices are synthetic probes: nonlinear activations, biases, quantization and normalization mean they cannot by themselves establish layer importance, causal relations or representative activation distributions.

Imported execution evidence is checked for consistency and identity; a hash does not attest that a claimed runtime actually executed. Numeric-value hashes preserve the recorded values; they do not preserve distinct NaN payload bit patterns. The collector separately hashes a supplied NPZ input file and records its dependency versions. The raw input and activation values are omitted from Activation IR. Keep the capture privately when reproducibility requires those values.

Use with an AI agent

{"path":"/models/model.onnx","output_format":"json","weight_analysis":true,"section":"weight_ir"}
{"path":"/models/model.onnx","output_format":"json","activation_evidence":"/models/capture.json","section":"activation_ir"}

These are optional deepbom_audit arguments for the local MCP server. Activation capture paths must be inside its allowed roots. The hosted ChatGPT tool retains its static-analysis contract; execution collection happens explicitly in your local environment.

CLI Handbook · Complete command reference · JSON Schema