MolecularDiffusion.modules.models.difflinker.noise

Noise schedules, ported verbatim from DiffLinker’s src/noise.py.

Classes

GammaNetwork

Models a monotonic increasing function, construction as in the VDM paper.

PositiveLinear

Linear layer with weights forced to be positive.

PredefinedNoiseSchedule

Lookup array for predefined (non-learned) noise schedules.

Functions

clip_noise_schedule(alphas2[, clip_value])

For a noise schedule given by alpha^2, clip alpha_t / alpha_t-1 to

cosine_beta_schedule(timesteps[, s, raise_to_power])

Cosine schedule as proposed in https://openreview.net/forum?id=-NEXDKk8gZ

polynomial_schedule(timesteps[, s, power])

A noise schedule based on a simple polynomial equation: 1 - x^power.

Module Contents

class MolecularDiffusion.modules.models.difflinker.noise.GammaNetwork

Bases: torch.nn.Module

Models a monotonic increasing function, construction as in the VDM paper.

forward(t)
gamma_tilde(t)
gamma_0
gamma_1
l1
l2
l3
class MolecularDiffusion.modules.models.difflinker.noise.PositiveLinear(in_features: int, out_features: int, bias: bool = True, weight_init_offset: int = -2)

Bases: torch.nn.Module

Linear layer with weights forced to be positive.

forward(x)
reset_parameters() None
in_features
out_features
weight
weight_init_offset = -2
class MolecularDiffusion.modules.models.difflinker.noise.PredefinedNoiseSchedule(noise_schedule, timesteps, precision)

Bases: torch.nn.Module

Lookup array for predefined (non-learned) noise schedules.

forward(t)
gamma
timesteps
MolecularDiffusion.modules.models.difflinker.noise.clip_noise_schedule(alphas2, clip_value=0.001)

For a noise schedule given by alpha^2, clip alpha_t / alpha_t-1 to help improve stability during sampling.

MolecularDiffusion.modules.models.difflinker.noise.cosine_beta_schedule(timesteps, s=0.008, raise_to_power: float = 1)

Cosine schedule as proposed in https://openreview.net/forum?id=-NEXDKk8gZ

MolecularDiffusion.modules.models.difflinker.noise.polynomial_schedule(timesteps: int, s=0.0001, power=3.0)

A noise schedule based on a simple polynomial equation: 1 - x^power.