torchsig.utils.random.Log10UniformRangeDistribution¶
- class torchsig.utils.random.Log10UniformRangeDistribution(params: tuple[float, float], **kwargs)[source]¶
Bases:
DistributionA class for handling log10-weighted random uniform ranges.
Methods
Add parent Seedable object and set up RNGs accordingly.
Create distribution function with proper seeding.
Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.
Samples a random value from the log10-weighted uniform distribution.
Seed number generators with given seed.
Initialize torch and numpy number generators, and update its children.
Update numpy and torch number generators with parent seed.
- __init__(params: tuple[float, float], **kwargs)[source]¶
Initialize log10 uniform range distribution with given parameters.
- Parameters:
params – Tuple of (low, high) values defining the range.
**kwargs – Additional keyword arguments.
- get_value() Any[source]¶
Samples a random value from the log10-weighted uniform distribution.
- Returns:
Random value from the log10-weighted uniform distribution.
- Raises:
ValueError – If params contain 0 or negative numbers.
- __call__(size: int | None = None) Any | ndarray¶
Distribution can return single value or np array of values sampled.
- Parameters:
size – Number of values to return. Defaults to None.
- Returns:
Value(s) sampled from distribution.
- __repr__() str¶
Printable representation with params, seed, and parent.
- Returns:
String representation of the object.
- add_parent(parent: Seedable, register: bool = True) None¶
Add parent Seedable object and set up RNGs accordingly.
- Parameters:
parent – Parent Seedable object to add.
register – If True (default), add self to parent.children so that future seed propagation reaches this object. Pass False for transient objects (e.g. per-sample Signal instances) that only need the parent link for metadata/RNG access during their lifetime but must not accumulate in the parent’s child list, which would otherwise cause unbounded memory growth.
- get_distribution(params: list | tuple | float, scaling: str = 'linear') Distribution¶
Create distribution function with proper seeding.
- Parameters:
params – Parameters for distribution.
scaling – Scaling param for distribution. Defaults to ‘linear’.
- Returns:
Distribution function, seeded.
- Return type: