Kumo-Tabular — GGUF
GGUF conversion of NVIDIA's Kumo-Tabular zero-shot tabular foundation model, converted and run with zsfm, a Rust workspace that ports zero-shot forecasting and tabular foundation models to GGUF + Burn, verified bit-exact against the original PyTorch checkpoint. No PyTorch, no Python runtime required to run inference.
| File | Description |
|---|---|
kumotabular-classification-small-f32.gguf |
F32 GGUF, small (28M params), classification |
GGUF embeds its own architecture metadata — no separate config.json is needed.
Use it
Python (pip install zsfm)
pip install zsfm huggingface_hub
import zsfm
from huggingface_hub import hf_hub_download
gguf_path = hf_hub_download("amaye15/kumotabular-gguf", "kumotabular-classification-small-f32.gguf")
model = zsfm.KumoTabularModel(gguf_path, task="classification", size="small")
# mixed-type rows: numbers, strings, null for missing
x_support = [[0.1, 1.2, "a"], [0.9, -0.3, "b"], [None, 0.4, "a"]]
y_support = [0, 1, 0]
x_query = [[0.2, 0.9, "b"], [None, 0.1, "a"]]
# Returns probabilities only (not classes, probs tuple)
probs = model.predict_classification(x_support, y_support, x_query, n_classes=2, seed=123, estimators=8)
# probs: per-row class probabilities, shape [n_query_rows, n_classes]
Rust / CLI (cargo install zsfm)
cargo install zsfm --locked
# downloads the original NVIDIA weights and converts to GGUF locally
zsfm kumotabular convert --size small
echo '{"x_support":[[0.1,1.2,"a"],[0.9,-0.3,"b"],[null,0.4,"a"]],"y_support":[0,1,0],"x_query":[[0.2,0.9,"b"],[null,0.1,"a"]],"n_classes":2,"seed":123,"estimators":8}' \
| zsfm kumotabular infer --gguf gguf/kumotabular-classification-small-f32.gguf
Response format
{
"task": "classification",
"classes": [0, 1],
"probabilities": [[0.83, 0.17], [0.21, 0.79]]
}
Classification responds with class labels and per-row probabilities. Regression responds with 999 quantiles per query row.
Architecture
Kumo-Tabular accepts mixed-type rows (numbers, strings, null for missing):
- Input: support set (labeled rows) + query rows (unlabeled rows to predict).
- Encoder: column embeddings with categorical encoding (first-appearance codes), preprocessing ensemble seeded deterministically.
- Output: classification probabilities or 999 regression quantiles per query row.
- A column containing any string is categorical; all-number columns are numerical.
- Three sizes: small (28M), medium (61M), large (214M) parameters.
License
Conversion code: MIT (amaye15/zsfm-rs). Weights: OpenMDW-1.1, per NVIDIA's release — commercial use permitted.