FS-TFP/federatedscope/core/auxiliaries/ReIterator.py

20 lines
448 B
Python

class ReIterator:
def __init__(self, loader):
self.loader = loader
self.iterator = iter(loader)
self.reset_flag = False
def __iter__(self):
return self
def __next__(self):
try:
item = next(self.iterator)
except StopIteration:
self.reset()
item = next(self.iterator)
return item
def reset(self):
self.iterator = iter(self.loader)