consistentDMD / README.md
fyxfelixfu's picture
Update model card metadata: add pipeline tag and remove arxiv tag from YAML (#1)
a0ce7c2
|
Raw History Blame Contribute Delete
5.1 kB
---
license: cc-by-nc-sa-4.0
pipeline_tag: text-to-image
tags:
- pytorch
- image-generation
- class-conditional
- diffusion-distillation
- imagenet
---
# Consistent Distribution Matching for Data-Free Diffusion Distillation
This is the **official PyTorch** checkpoint repository for [Consistent Distribution Matching for Data-Free Diffusion Distillation](https://arxiv.org/abs/2610.09221).
Project page: https://consistentdmd.github.io/
Code: https://github.com/felix-yuxiang/CDMD
This release contains one **LightningDiT-teacher CDMD student for class-conditional ImageNet 256×256 generation**. The same student produces the project page's **2.04 / 1.62 / 1.37 FID** results with **1 / 2 / 4 Euler steps**. Each step is one network evaluation; inference uses no classifier-free guidance pair or teacher model.
## Checkpoint and statistics
| File | Size | Description |
|---|---:|---|
| [consistentdmd-ldit-best.pt](consistentdmd-ldit-best.pt) | 2.73 GB | Reporting PostHocEMA index **1**, `sigma_rel=0.2`. Compact FP32 student weights and portable metadata, compatible with the public code. |
| [latents_stats.pt](latents_stats.pt) | 1.8 KB | Matching VA-VAE latent mean and standard deviation, required for image generation. |
| [fid-50k-256.npz](fid-50k-256.npz) | 33.6 MB | ImageNet reference statistics for FID evaluation with the pinned metric implementation. |
The statistics for this model are `.pt` and `.npz` files; no statistics `.pkl` is required. The compact checkpoint contains no optimizer, teacher, or training history and cannot resume training. Its implementation configuration is `LightningDiT-XL/1`, `dmf_depth=10`, with 32-channel 16×16 VA-VAE latents and 1,000 classes.
The required **VA-VAE decoder** is downloaded separately by the code's asset script. The two statistics files are unmodified copies from [Peterande/FACM at revision b7b5fee6d3f43347883d0fe6f9f357e3068375b8](https://huggingface.co/Peterande/FACM/tree/b7b5fee6d3f43347883d0fe6f9f357e3068375b8). [assets.json](assets.json) records their upstream revision, sizes, and SHA-256 hashes, together with the decoder and training-only teacher identities.
## Download and sample
Set up the environment from the [code repository](https://github.com/felix-yuxiang/CDMD#-environment). Run the following commands from its root:
```bash
hf download fyxfelixfu/consistentDMD \
consistentdmd-ldit-best.pt latents_stats.pt fid-50k-256.npz \
--local-dir cache
# Downloads the VA-VAE and verifies the matching inference assets.
python scripts/download_assets.py
# Generate 64 images with one network evaluation per image.
bash scripts/test.sh --sampling-steps 1 --num-samples 64 --skip-metrics \
--output-dir samples/preview
```
Use `--sampling-steps 2` or `--sampling-steps 4` for the other project-page settings. The public sampler also supports 8, 16, 32, and 64 Euler steps. Inference requires a BF16-capable NVIDIA GPU. The decoder runs in FP32 and the student runs in BF16, while checkpoint tensors remain FP32.
## Reproduce FID
Use the public repository's pinned requirements, including the [LTH14 torch-fidelity fork](https://github.com/LTH14/torch-fidelity/tree/bfe72b995473e4fee9351705d7b005f17442a4ca). The recorded setup uses two A100 80GB GPUs, seed 0, 50,000 images, and batch size 32 per GPU:
```bash
torchrun --standalone --nproc_per_node=2 test.py \
--ckpt-path cache/consistentdmd-ldit-best.pt \
--sampling-steps 1 --num-samples 50000 \
--batch-size 32 --decode-batch-size 32 \
--output-dir samples/euler-1
```
Repeat with `--sampling-steps 2` and `4`, using a fresh output directory for each run.
| Euler steps / NFE | Recorded FID-50K ↓ |
|---:|---:|
| 1 | **2.0358** |
| 2 | **1.6185** |
| 4 | **1.3711** |
| 8 | 1.2764 |
[results.json](results.json) contains the evaluation protocol and results.
## Integrity and provenance
The release was checked against the frozen reporting EMA: **all 419 state tensors are exactly equal**, with no precision conversion. The checkpoint SHA-256 is:
```text
0eddca248af6cfaa21e5b9b32d0c02329923e5066d1bb2b140fa6827c061c1d4
```
See [consistentdmd-ldit-best.pt.json](consistentdmd-ldit-best.pt.json) for model and EMA metadata, [consistentdmd-ldit-best.pt.sha256](consistentdmd-ldit-best.pt.sha256) for its checksum, and [SHA256SUMS](SHA256SUMS) for all release files. This is an exact copy of the validated export under the filename expected by the public code.
## License and acknowledgements
The CDMD checkpoint follows the project's [CC BY-NC-SA 4.0 license](LICENSE.md). The architecture and decoder build on Lightning-DiT and DiT. Upstream assets retain their respective terms; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
## Citation
```bibtex
@article{fu2026cdmd,
title = {Consistent Distribution Matching for Data-Free Diffusion Distillation},
author = {Fu, Yuxiang and Yan, Qi and Wu, Zike and Zhang, Yongxing and
Abolmaesumi, Purang and Wang, Lele and Liao, Renjie},
journal = {arXiv preprint arXiv:2610.09221},
year = {2026},
url = {https://arxiv.org/abs/2610.09221}
}
```