MolecularDiffusion.modules.models.difflinker.noise¶
Noise schedules, ported verbatim from DiffLinker’s src/noise.py.
Classes¶
Models a monotonic increasing function, construction as in the VDM paper. |
|
Linear layer with weights forced to be positive. |
|
Lookup array for predefined (non-learned) noise schedules. |
Functions¶
|
For a noise schedule given by alpha^2, clip alpha_t / alpha_t-1 to |
|
Cosine schedule as proposed in https://openreview.net/forum?id=-NEXDKk8gZ |
|
A noise schedule based on a simple polynomial equation: 1 - x^power. |
Module Contents¶
- class MolecularDiffusion.modules.models.difflinker.noise.GammaNetwork¶
Bases:
torch.nn.ModuleModels 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.ModuleLinear layer with weights forced to be positive.
- forward(x)¶
- in_features¶
- out_features¶
- weight¶
- weight_init_offset = -2¶
- class MolecularDiffusion.modules.models.difflinker.noise.PredefinedNoiseSchedule(noise_schedule, timesteps, precision)¶
Bases:
torch.nn.ModuleLookup 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