Official Implementation of Inductive Moment Matching
Also check out our accompanying position paper that explains the motivation and ways of designing new generative paradigms.
To install all packages in this codebase along with their dependencies, run
conda env create -f env.ymlWe provide pretrained checkpoints through our repo on Hugging Face:
- IMM on CIFAR-10: cifar10.pkl.
- IMM on ImageNet-256x256:
t-sis passed as second time embedding, trained witha=2: imagenet256_ts_a2.pkl.sis passed as second time embedding directly, trained witha=1: imagenet256_s_a1.pkl.
The checkpoints can be tested via
python generate_images.py --config-name=CONFIG_NAME eval.resume=CKPT_PATH REPLACEMENT_ARGSwhere CONFIG_NAME is im256_generate_images.yaml or cifar10_generate_images.yaml and CKPT_PATH is the path to your checkpoint. When loading imagenet256_s_a1.pkl, REPLACEMENT_ARGS needs to be network.temb_type=identity. Otherwise, REPLACEMENT_ARGS is empty.
- Add model weights and model definitions.
- Add inference scripts.
- Add evaluation scripts.
- Add training scripts.
Some of the utility functions are based on EDM, and thus parts of the code would apply under this license.
@article{zhou2025inductive,
title={Inductive Moment Matching},
author={Zhou, Linqi and Ermon, Stefano and Song, Jiaming},
journal={arXiv preprint arXiv:2503.07565},
year={2025}
}