Distribution
MixTimeDistribution
An abstract base class representing a mixed time distribution.
uniform_dist = UniformTimeDistribution(min_t=0.0, max_t=1.0, discrete_time=False) beta_dist = BetaTimeDistribution(min_t=0.0, max_t=1.0, discrete_time=False, p1=2.0, p2=1.0) mix_dist = MixTimeDistribution(uniform_dist, beta_dist, mix_fraction=0.5)
Source code in bionemo/moco/distributions/time/distribution.py
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
|
__init__(dist1, dist2, mix_fraction)
Initializes a MixTimeDistribution object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dist1
|
TimeDistribution
|
The first time distribution. |
required |
dist2
|
TimeDistribution
|
The second time distribution. |
required |
mix_fraction
|
Float
|
The fraction of samples to draw from dist1. Must be between 0 and 1. |
required |
Source code in bionemo/moco/distributions/time/distribution.py
94 95 96 97 98 99 100 101 102 103 104 105 106 |
|
sample(n_samples, device='cpu', rng_generator=None)
Generates a specified number of samples from the mixed time distribution.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
n_samples
|
int
|
The number of samples to generate. |
required |
device
|
str
|
cpu or gpu. |
'cpu'
|
rng_generator
|
Optional[Generator]
|
An optional :class: |
None
|
Returns:
Name | Type | Description |
---|---|---|
Float |
Float
|
A list or array of samples. |
Source code in bionemo/moco/distributions/time/distribution.py
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
|
TimeDistribution
Bases: ABC
An abstract base class representing a time distribution.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
discrete_time
|
Bool
|
Whether the time is discrete. |
False
|
nsteps
|
Optional[int]
|
Number of nsteps for discretization. |
None
|
min_t
|
Optional[Float]
|
Min continuous time. |
None
|
max_t
|
Optional[Float]
|
Max continuous time. |
None
|
rng_generator
|
Optional[Generator]
|
An optional :class: |
None
|
Source code in bionemo/moco/distributions/time/distribution.py
24 25 26 27 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 |
|
__init__(discrete_time=False, nsteps=None, min_t=None, max_t=None, rng_generator=None)
Initializes a TimeDistribution object.
Source code in bionemo/moco/distributions/time/distribution.py
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 |
|
sample(n_samples, device='cpu', rng_generator=None)
abstractmethod
Generates a specified number of samples from the time distribution.
Args:
n_samples (int): The number of samples to generate.
device (str): cpu or gpu.
rng_generator: An optional :class:torch.Generator
for reproducible sampling. Defaults to None.
Returns:
Name | Type | Description |
---|---|---|
Float |
Float
|
A list or array of samples. |
Source code in bionemo/moco/distributions/time/distribution.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
|