Shortcuts

RoundRobinDemultiplexer

class torchdata.datapipes.iter.RoundRobinDemultiplexer(datapipe: IterDataPipe, num_instances: int, buffer_size: int = 1000)

Splits the input DataPipe into multiple child DataPipes in the round-robin order (functional name: round_robin_demux). A list of the child DataPipes is returned from this operation.

Parameters:
  • datapipe – Iterable DataPipe being filtered

  • num_instances – number of instances of the DataPipe to create

  • buffer_size – this defines the maximum number of inputs that the buffer can hold across all child DataPipes while waiting for their values to be yielded. Defaults to 1000. Use -1 for the unlimited buffer.

Examples

>>> from torchdata.datapipes.iter import IterableWrapper
>>> source_dp = IterableWrapper(range(5))
>>> dp1, dp2 = source_dp.round_robin_demux(2)
>>> list(dp1)
[0, 2, 4]
>>> len(dp1)
3
>>> list(dp2)
[1, 3]
>>> len(dp2)
2

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources