experanto.utils.LongCycler

class LongCycler(loaders)[source]

Bases: object

Cycle through multiple dataloaders until the longest is exhausted.

Useful for training with multiple sessions of unequal size. Cycles through all loaders, yielding (session_key, batch) pairs. Shorter loaders are recycled until the longest loader completes one full epoch.

Parameters:

loaders (dict) – Dictionary mapping session keys to DataLoader instances.

max_batches

Number of batches in the longest loader.

Type:

int

Examples

>>> loaders = {'session_1': loader1, 'session_2': loader2}
>>> cycler = LongCycler(loaders)
>>> for session_key, batch in cycler:
...     print(f"Processing {session_key}")

Methods

__init__(loaders)

__init__(loaders)[source]