ddpm_cifar_gen(pretrained: bool | str = False, weights: DDPMCifarWeights | None = None, overrides: object = {})Construct a DDPM CIFAR-10 model with training loss and .generate().
Same trunk as ddpm_cifar (sample size 32x32, 4-stage U-Net),
wrapped with the Ho 2020 simplified training objective and
DiffusionMixin.generate for ancestral sampling.
Model Size
Parameters
pretrainedbool or str= FalseWeight selector.
False → random init; True → the official
google/ddpm-cifar10-32 checkpoint
(DDPMCifarWeights.CIFAR10), giving an inference-ready
sampler — model.generate(...) draws CIFAR-10-like images.weights(DDPMCifarWeights, optional, keyword - only)= NoneExplicit weights enum member; takes precedence over
pretrained.**overridesobject= {}Optional
DDPMConfig field overrides forwarded into the
underlying config.Returns
DDPMForImageGenerationCIFAR-10 DDPM wrapped with the noise-prediction loss head (pretrained when requested).
Notes
Reference: Ho, Jain, and Abbeel, "Denoising Diffusion Probabilistic Models", NeurIPS, 2020 (arXiv:2006.11239), Appendix B.1.
Examples
>>> import lucid
>>> from lucid.models.generative.ddpm import ddpm_cifar_gen
>>> model = ddpm_cifar_gen().eval()
>>> x_t = lucid.randn((1, 3, 32, 32))
>>> t = lucid.tensor([42]).long()
>>> out = model(x_t, t)
>>> out.sample.shape # (1, 3, 32, 32)
(1, 3, 32, 32)