A timestep embedding converts the scalar diffusion step into a vector or tensor that tells a denoising network how much noise the current image contains. In a learned implementation, an embedding block maps the normalized step through two linear layers with a GELU activation, producing representations sized for different U-Net stages. This differs from the fixed sine-and-cosine timestep encoding used in a latent-diffusion implementation. section 6.2.1 section 9.3.2
Trace a timestep embedding through a conditional denoising U-Net:
- Project the one-dimensional timestep into separate channel widths, such as 512 and 256 dimensions. section 6.2.1
- Inject the timestep tensors into the U-Net's expansive path alongside label embeddings, so decoder blocks receive both noise-level and class information. section 6.3.1
Embedding timestep 25
Instantiate EmbedLayer(1, 512) and EmbedLayer(1, 256), pass the normalized timestep 25/1000 to both, and reshape the outputs to (1, 512, 1, 1) and (1, 256, 1, 1).

