DDPMConfig¶
- class lucid.models.DDPMConfig(model: lucid.nn.module.Module | None = None, image_size: int = 32, channels: int = 3, timesteps: int = 1000, diffuser: lucid.nn.module.Module | None = None, clip_denoised: bool = True)¶
DDPMConfig stores the optional denoiser module, diffusion step count, and
sampling settings used by lucid.models.DDPM.
Class Signature¶
@dataclass
class DDPMConfig:
model: nn.Module | None = None
image_size: int = 32
channels: int = 3
timesteps: int = 1000
diffuser: nn.Module | None = None
clip_denoised: bool = True
Parameters¶
model (nn.Module | None): Optional noise prediction network. If omitted, DDPM builds the default U-Net.
image_size (int): Side length of the square image.
channels (int): Number of image channels.
timesteps (int): Number of diffusion steps.
diffuser (nn.Module | None): Optional diffusion process module. If omitted, DDPM builds the default Gaussian diffuser.
clip_denoised (bool): Whether reverse-process outputs are clipped to [0, 1].
Validation¶
model and diffuser must be nn.Module or None.
image_size, channels, and timesteps must be greater than 0.
clip_denoised must be a boolean.
If diffuser defines timesteps, it must match timesteps.
Usage¶
import lucid.models as models
config = models.DDPMConfig(image_size=32, channels=3, timesteps=1000)
model = models.DDPM(config)