When your dataset is a table, not a cat photo
TabDDPM is the official implementation of an ICML 2023 paper that uses diffusion models to generate synthetic tabular data, benchmarking against GAN and VAE baselines.

What it does
TabDDPM trains diffusion models on structured, non-image datasets—think CSVs and database dumps—to produce synthetic rows that mimic the real thing. The repo provides a full experimental framework: dataset loaders, hyperparameter tuning, a training-and-sampling pipeline, and evaluation scripts that measure quality by training downstream CatBoost or MLP classifiers on the generated data. It also bundles several baselines—SMOTE, CTGAN, CTAB-GAN, and TVAE—so you can compare diffusion against the usual suspects in one place.
The interesting bit
The contrarian bet here is that iterative noise works as well for spreadsheet columns as it does for pixels. The repo treats this unglamorous task as the main event, bundling pre-split datasets and tuned evaluation models so the boring reproducibility work is already done.
Key highlights
- Includes the paper’s datasets with official train/val/test splits, so reproduction starts from the same baseline.
- Bundles
SMOTE,CTGAN/TVAE,CTAB-GAN, andCTAB-GAN-Plusfor head-to-head comparison without leaving the repo. - Evaluation measures utility by training downstream
CatBoostorMLPmodels on synthetic data, not just eyeballing distributions. - A full tuning and seed-evaluation pipeline is provided, including a privacy calculation script (
scripts/resample_privacy.py). - The authors report a single pipeline run takes roughly seven minutes on an NVIDIA RTX 2080 Ti.
Caveats
- The setup pins an old PyTorch version (
1.10.1) and relies on manual environment path exports that feel brittle. - The README contains commented-out sections and minor typos, suggesting the documentation has not been heavily polished since release.
- It is strictly a research reproduction repo; there is no packaged API or library—just scripts and config files.
Verdict
Researchers working on synthetic data or diffusion architectures should grab this for the baselines and splits alone. If you are looking for a packaged library to anonymize your production database, this is not it—it is a paper implementation first and foremost.
Frequently asked
- What is yandex-research/tab-ddpm?
- TabDDPM is the official implementation of an ICML 2023 paper that uses diffusion models to generate synthetic tabular data, benchmarking against GAN and VAE baselines.
- Is tab-ddpm open source?
- Yes — yandex-research/tab-ddpm is open source, released under the MIT license.
- What language is tab-ddpm written in?
- yandex-research/tab-ddpm is primarily written in Python.
- How popular is tab-ddpm?
- yandex-research/tab-ddpm has 560 stars on GitHub.
- Where can I find tab-ddpm?
- yandex-research/tab-ddpm is on GitHub at https://github.com/yandex-research/tab-ddpm.