torchsig.datasets.datasets.StaticTorchSigDataset

class torchsig.datasets.datasets.StaticTorchSigDataset(root: str, file_handler_class=<class 'torchsig.utils.file_handlers.hdf5.HDF5Reader'>, transforms: list = [], target_labels: list | None = None, **kwargs)[source]

Bases: Dataset, Seedable

Static Dataset class, which loads pre-generated data from a directory.

Parameters:
  • root – The root directory where the dataset is stored.

  • transforms – Transforms to apply to the data (default: []).

  • file_handler_class – Class used for reading the dataset (default: HDF5FileHandler).

Methods

add_parent

Add parent Seedable object and set up RNGs accordingly.

get_distribution

Create distribution function with proper seeding.

get_second_seed

Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.

seed

Seed number generators with given seed.

setup_rngs

Initialize torch and numpy number generators, and update its children.

update_from_parent

Update numpy and torch number generators with parent seed.

__init__(root: str, file_handler_class=<class 'torchsig.utils.file_handlers.hdf5.HDF5Reader'>, transforms: list = [], target_labels: list | None = None, **kwargs)[source]

Initializes the dataset.

Parameters:
  • root – The root directory where the dataset is stored.

  • file_handler_class – Class used for reading the dataset.

  • transforms – Transforms to apply to the data.

  • target_labels – Labels to extract from the signal.

  • **kwargs – Additional keyword arguments passed to the parent class.

__str__() str[source]

Returns a string representation of the dataset.

Returns:

A string representation of the dataset.

__repr__() str[source]

Returns a detailed string representation of the dataset.

Returns:

A detailed string representation of the dataset.

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:

Distribution

get_second_seed(seed: int) int

Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.

Parameters:

seed – Seed to use.

Returns:

New seed.

seed(seed: int) None

Seed number generators with given seed.

Parameters:

seed – Seed to use.

setup_rngs() None

Initialize torch and numpy number generators, and update its children.

update_from_parent() None

Update numpy and torch number generators with parent seed.