Download kumo/README.md from ScriptSmith/tabular-data-workbench-onnx: direct link, hf CLI and curl.
- Browser
- Download file 5.28 kB
-
https://huggingface.co/ScriptSmith/tabular-data-workbench-onnx/resolve/main/kumo/README.md
- Command line
-
hf download hf://ScriptSmith/tabular-data-workbench-onnx/kumo/README.md
-
curl -L -o README.md https://huggingface.co/ScriptSmith/tabular-data-workbench-onnx/resolve/main/kumo/README.md
license: openmdw-1.1
library_name: onnx
base_model: nvidia/Kumo-Tabular
base_model_relation: quantized
pipeline_tag: tabular-classification
tags:
- onnx
- onnxruntime-web
- webgpu
- structured-data-models
- tabular-classification
- tabular-regression
- tabular-foundation-model
- in-context-learning
KumoTabular for onnxruntime-web
An unofficial ONNX conversion of NVIDIA's Kumo Tabular
(tag v1.0.1) in its three sizes, made for Tabular Data Workbench, which runs
it in the browser with onnxruntime-web on WebGPU or WebAssembly. The weights
are NVIDIA's, with the larger ones stored as float16 (see below). NVIDIA has
not reviewed or endorsed this conversion.
Files
One graph per size and head, each a single file:
| file | parameters | size |
|---|---|---|
small-classifier.f16w.onnx |
27.5M | 55 MB |
small-regressor.f16w.onnx |
28.5M | 57 MB |
medium-classifier.f16w.onnx |
61.5M | 124 MB |
medium-regressor.f16w.onnx |
62.5M | 126 MB |
large-classifier.f16w.onnx |
213.7M | 428 MB |
large-regressor.f16w.onnx |
215.7M | 432 MB |
Every graph has the same interface, that of onnx-community's export of the small size:
| input / output | shape | type |
|---|---|---|
x |
(R, C), context rows first, missing values as NaN | float32 |
y_context |
(Rc) | int32 class codes (classifier), float32 (regressor) |
categorical_mask |
(C) | bool |
logits |
(R - Rc, 10) logits or (R - Rc, 999) quantiles | float32 |
The graph is the network only (structured-data-models'
_KumoTabular.forward): it imputes missing cells itself, so NaN must reach
it unchanged. The preprocessing recipe, the ensemble and the output
aggregation stay outside it; the app implements them in TypeScript.
In f16w, every float32 weight of 1,024 or more elements is stored as
float16 and cast back to float32 on load, which halves the download and keeps
compute in float32. The other weights are as NVIDIA released them.
manifest.json lists every file with its size, sha256, largest weight and
total weight bytes (as float32), the int64 shape nodes to keep on the CPU
under WebGPU (cpuNodes), each size's architecture, a memory estimate per
row, onnxruntime CPU timings, and the parity figures below.
How they were made
Source: nvidia/Kumo-Tabular at 3c3e10bbdb590ace29e7026847f92db3c603096d
(tag v1.0.1), loaded through NVIDIA's
structured-data-models
0.2.1.
cd models/kumo
uv run export.py # writes public/models/kumo/
export.py (in models/kumo/ of Tabular Data Workbench) exports with
torch.onnx (dynamo, opset 20, PyTorch 2.14 on CPU) and removes the
exporter's node metadata and doc strings. The cell embedding is
rewritten so that grouping each column with its neighbours, imputing missing
cells and building the Fourier features need no int64 Mod, int64 sums or
scatters; the result matches structured-data-models' forward pass. The
graphs keep a few int64 shape computations, listed in the manifest.
Parity
onnxruntime 1.30 (CPU) against structured-data-models' forward pass in PyTorch, maximum absolute difference over network inputs captured from its recipe (4 ensemble members, 540 context and 100 query rows of a synthetic table with missing values and two categorical columns) and over random inputs of five shapes:
| graph | float32 graph, recipe inputs | f16w, recipe inputs | f16w, random inputs | largest output |
|---|---|---|---|---|
| small classifier (logits) | 5.2e-5 | 1.9e-2 | 1.8e-2 | 14.5 |
| small regressor (quantiles) | 2.2e-5 | 6.1e-3 | 1.8e-2 | 4.6 |
| medium classifier | 4.2e-5 | 1.5e-2 | 1.8e-2 | 30.1 |
| medium regressor | 9.1e-6 | 1.4e-3 | 6.5e-3 | 3.7 |
| large classifier | 2.4e-5 | 1.1e-2 | 2.4e-2 | 8.3 |
| large regressor | 6.9e-5 | 2.7e-3 | 4.2e-3 | 4.5 |
The float32 graphs (built for this check, not published) show the export's own error; the rest is the rounding of the weights to float16. Regressor outputs are in units of the standardised target.
Through the whole recipe (8 ensemble members; breast cancer with and without missing values, wine, diabetes), the f16w graphs of every size move class probabilities by at most 4.1e-4 and regression quantiles by at most 9e-4 standard deviations from structured-data-models' predictions, with the same accuracy and R² within 2e-5.
Licence
The weights are released by NVIDIA under the OpenMDW License Agreement 1.1
(LICENSE, Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES). It allows
use, modification and redistribution provided that the agreement and the
notices of origin travel with the weights, and it ends the rights of anyone
who sues claiming the model infringes a patent or copyright.
The graphs were exported from structured-data-models' model code, licensed
under Apache-2.0 (LICENSE.structured-data-models), whose cell embedding is
derived from TabFM (Google, Apache-2.0) and whose attention scaling contains
portions of TabICLv2 (Soda team, Inria, BSD-3-Clause). NOTICE states the
origin and the changes and carries the TabICLv2 licence.
Keep LICENSE, NOTICE and LICENSE.structured-data-models with the
graphs when redistributing them.