NVIDIA/structured-data-models

Foundation Models for Structured Data

Python

269

772 commits

updated Oct 2, 2026

See the code

README

Structured Data Models

Python 3.11+ License: Apache 2.0 Contributions Welcome Docs

A GPU-native library of foundation models, tensor subclasses, and data processors for structured data.

  • Models: Reference implementations of structured data foundation models, including tabular models (TabICLv2, KumoTabular, etc), and relational models (KumoRelational), built on a unified interface with room for future model families.
  • Tensor semantics: PyTorch-compatible tensor types for numerical, categorical, datetime, text, and relational data.
  • Data processing: Composable, extensible, and GPU-accelerated preprocessing and postprocessing for structured data workflows.

Installation

The structured-data-models package is available from Python 3.11 and PyTorch 2.7 onwards. Install from the main branch:

pip install git+https://github.com/NVIDIA/structured-data-models.git

[!NOTE] For CUDA workloads, we highly recommend installing cudf as an additional dependency to keep dataframe-style operations on GPU and avoid unnecessary data movement.

Model Families

Tabular Foundation Models:

Relational Foundation Models:

Quick Tour

from sklearn.datasets import load_breast_cancer

import sdm

df = load_breast_cancer(as_frame=True).frame

# A lossless, fully tensorized representation of the raw data on GPU:
table = sdm.TableTensor.from_pandas(
    df=df,
    stypes=sdm.infer_stypes(df, overrides={"target": "categorical"}),
    device="cuda",
)

# Access to a variety of pre-trained structured data models:
model = sdm.models.TabICLv2(device="cuda")

# Default in-context learning forward pass:
model(
    x_context=table[:300].drop_columns("target"),
    y_context=table[:300, "target"],
    x_query=table[300:].drop_columns("target"),
    num_estimators=8,
)

# Fit + Predict forward pass via key/value caching for fast inference:
model.fit(
    x=table[:300].drop_columns("target"),
    y=table[:300, "target"],
    num_estimators=8,
)
model.predict(table[300:].drop_columns("target"))
model.clear()

Additional examples are available in examples/. Benchmarks for reproducing reported results live in benchmark/.

Notice and Disclaimer

This software automatically retrieves, accesses or interacts with external materials. Those retrieved materials are not distributed with this software and are governed solely by separate terms, conditions and licenses. You are solely responsible for finding, reviewing and complying with all applicable terms, conditions, and licenses, and for verifying the security, integrity and suitability of any retrieved materials for your specific use case. This software is provided "AS IS", without warranty of any kind. The author makes no representations or warranties regarding any retrieved materials, and assumes no liability for any losses, damages, liabilities or legal consequences from your use or inability to use this software or any retrieved materials. Use this software and the retrieved materials at your own risk.

License

The NVIDIA-authored source code is licensed under the Apache License 2.0. Third-party software and separately distributed model assets are documented in THIRD_PARTY_LICENSES.md:

Significant stargazers

Kashif Rasul

1,250 followers · starred Sep 2026

NVIDIA/structured-data-models

Foundation Models for Structured Data

Python

269

772 commits

updated Oct 2, 2026

See the code

README

Structured Data Models

Python 3.11+ License: Apache 2.0 Contributions Welcome Docs

A GPU-native library of foundation models, tensor subclasses, and data processors for structured data.

  • Models: Reference implementations of structured data foundation models, including tabular models (TabICLv2, KumoTabular, etc), and relational models (KumoRelational), built on a unified interface with room for future model families.
  • Tensor semantics: PyTorch-compatible tensor types for numerical, categorical, datetime, text, and relational data.
  • Data processing: Composable, extensible, and GPU-accelerated preprocessing and postprocessing for structured data workflows.

Installation

The structured-data-models package is available from Python 3.11 and PyTorch 2.7 onwards. Install from the main branch:

pip install git+https://github.com/NVIDIA/structured-data-models.git

[!NOTE] For CUDA workloads, we highly recommend installing cudf as an additional dependency to keep dataframe-style operations on GPU and avoid unnecessary data movement.

Model Families

Tabular Foundation Models:

Relational Foundation Models:

Quick Tour

from sklearn.datasets import load_breast_cancer

import sdm

df = load_breast_cancer(as_frame=True).frame

# A lossless, fully tensorized representation of the raw data on GPU:
table = sdm.TableTensor.from_pandas(
    df=df,
    stypes=sdm.infer_stypes(df, overrides={"target": "categorical"}),
    device="cuda",
)

# Access to a variety of pre-trained structured data models:
model = sdm.models.TabICLv2(device="cuda")

# Default in-context learning forward pass:
model(
    x_context=table[:300].drop_columns("target"),
    y_context=table[:300, "target"],
    x_query=table[300:].drop_columns("target"),
    num_estimators=8,
)

# Fit + Predict forward pass via key/value caching for fast inference:
model.fit(
    x=table[:300].drop_columns("target"),
    y=table[:300, "target"],
    num_estimators=8,
)
model.predict(table[300:].drop_columns("target"))
model.clear()

Additional examples are available in examples/. Benchmarks for reproducing reported results live in benchmark/.

Notice and Disclaimer

This software automatically retrieves, accesses or interacts with external materials. Those retrieved materials are not distributed with this software and are governed solely by separate terms, conditions and licenses. You are solely responsible for finding, reviewing and complying with all applicable terms, conditions, and licenses, and for verifying the security, integrity and suitability of any retrieved materials for your specific use case. This software is provided "AS IS", without warranty of any kind. The author makes no representations or warranties regarding any retrieved materials, and assumes no liability for any losses, damages, liabilities or legal consequences from your use or inability to use this software or any retrieved materials. Use this software and the retrieved materials at your own risk.

License

The NVIDIA-authored source code is licensed under the Apache License 2.0. Third-party software and separately distributed model assets are documented in THIRD_PARTY_LICENSES.md:

Significant stargazers

Kashif Rasul

1,250 followers · starred Sep 2026

Languages

Python

100.0%