Discrete noise schedules
DiscreteCosineNoiseSchedule
Bases: DiscreteNoiseSchedule
A cosine noise schedule for Diffusion Models.
Source code in bionemo/moco/schedules/discrete_noise_schedules.py
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
__init__(nsteps, nu=1.0, s=0.008)
Initialize the CosineNoiseSchedule.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
nsteps
|
int
|
Number of time steps. |
required |
nu
|
Optional[Float]
|
Hyperparameter for the cosine schedule (default is 1.0). |
1.0
|
s
|
Optional[Float]
|
Hyperparameter for the cosine schedule (default is 0.008). |
0.008
|
Source code in bionemo/moco/schedules/discrete_noise_schedules.py
104 105 106 107 108 109 110 111 112 113 114 |
|
DiscreteNoiseSchedule
Bases: ABC
A base class for discrete schedules. No matter the definition this class returns objects using a unified direction of time.
Source code in bionemo/moco/schedules/discrete_noise_schedules.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
|
__init__(nsteps, direction)
Initialize the DiscreteNoiseSchedule.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
nsteps
|
Optional[int]
|
Number of time steps. If None, uses the value from initialization. |
required |
direction
|
Optional[str]
|
TimeDirection to synchronize the schedule with. If the schedule is defined with a different direction, this parameter allows to flip the direction to match the specified one (default is None). |
required |
Source code in bionemo/moco/schedules/discrete_noise_schedules.py
31 32 33 34 35 36 37 38 39 40 |
|
calculate_derivative(nsteps=None, device='cpu', synchronize=None)
Calculate the time derivative of the schedule.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
nsteps
|
Optional[int]
|
Number of time steps. If None, uses the value from initialization. |
None
|
device
|
Optional[str]
|
Device to place the schedule on (default is "cpu"). |
'cpu'
|
synchronize
|
Optional[str]
|
TimeDirection to synchronize the schedule with. If the schedule is defined with a different direction, this parameter allows to flip the direction to match the specified one (default is None). |
None
|
Returns:
Name | Type | Description |
---|---|---|
Tensor |
Tensor
|
A tensor representing the time derivative of the schedule. |
Raises:
Type | Description |
---|---|
NotImplementedError
|
If the derivative calculation is not implemented for this schedule. |
Source code in bionemo/moco/schedules/discrete_noise_schedules.py
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
|
generate_schedule(nsteps=None, device='cpu', synchronize=None)
Public wrapper to generate the time schedule as a tensor.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
nsteps
|
Optional[int]
|
Number of time steps. If None, uses the value from initialization. |
None
|
device
|
Optional[str]
|
Device to place the schedule on (default is "cpu"). |
'cpu'
|
synchronize
|
Optional[str]
|
TimeDirection to synchronize the schedule with. If the schedule is defined with a different direction, this parameter allows to flip the direction to match the specified one (default is None). |
None
|
Returns:
Name | Type | Description |
---|---|---|
Tensor |
Tensor
|
A tensor of time steps + 1 unless full is False. |
Source code in bionemo/moco/schedules/discrete_noise_schedules.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
|