# CyclingIterator Source: https://www.tensorplay.cn/docs/generated/tensorplay.distributed.elastic.utils.data.CyclingIterator.html ```python class tensorplay.distributed.elastic.utils.data.CyclingIterator(*args, start_epoch: int = 0, n: int | None = None, generator_fn=None) ``` Wrap a finite iterable into an endless one. Each cycle increments epoch; the underlying iterable is re-materialized through its factory (or by calling iter on it again when it supports that) so per-epoch shuffling keeps working. ```python property epoch: int ``` Epoch number of the data currently being produced.