in torchdata/datapipes/iter/util/samplemultiplexer.py [0:0]
def __len__(self) -> int:
if self.length is not None:
if self.length == -1:
raise TypeError(f"{type(self).__name__} instance doesn't have valid length")
return self.length
if all(isinstance(dp, Sized) for dp, _ in self.pipes_and_weights):
self.length = sum(len(dp) for dp, _ in self.pipes_and_weights)
else:
self.length = -1
return len(self)