diffengine.models.utils.noise

Module Contents

Classes

WhiteNoise

White noise module.

OffsetNoise

Offset noise module.

PyramidNoise

Pyramid noise module.

class diffengine.models.utils.noise.WhiteNoise(*args, **kwargs)[source]

Bases: torch.nn.Module

White noise module.

forward(latents)[source]

Forward pass.

Generates noise for the given latents.

Args:

latents (torch.Tensor): Latent vectors.

Parameters:

latents (torch.Tensor) –

Return type:

torch.Tensor

class diffengine.models.utils.noise.OffsetNoise(offset_weight=0.05)[source]

Bases: torch.nn.Module

Offset noise module.

https://www.crosslabs.org/blog/diffusion-with-offset-noise

Args:

offset_weight (float): Noise offset weight. Defaults to 0.05.

forward(latents)[source]

Forward pass.

Generates noise for the given latents.

Args:

latents (torch.Tensor): Latent vectors.

Parameters:

latents (torch.Tensor) –

Return type:

torch.Tensor

Parameters:

offset_weight (float) –

class diffengine.models.utils.noise.PyramidNoise(discount=0.9, *, random_multiplier=True)[source]

Bases: torch.nn.Module

Pyramid noise module.

https://wandb.ai/johnowhitaker/multires_noise/reports/ Multi-Resolution-Noise-for-Diffusion-Model-Training–VmlldzozNjYyOTU2

Args:

discount (float): Noise offset weight. Defaults to 0.9. random_multiplier (bool): Whether to use random multiplier.

Defaults to True.

forward(latents)[source]

Forward pass.

Generates noise for the given latents.

Args:

latents (torch.Tensor): Latent vectors.

Parameters:

latents (torch.Tensor) –

Return type:

torch.Tensor

Parameters:
  • discount (float) –

  • random_multiplier (bool) –