diff --git a/ultralytics/data/build.py b/ultralytics/data/build.py index 6493a443..190c6ec9 100644 --- a/ultralytics/data/build.py +++ b/ultralytics/data/build.py @@ -47,6 +47,13 @@ class InfiniteDataLoader(dataloader.DataLoader): for _ in range(len(self)): yield next(self.iterator) + def __del__(self): + """Ensure that workers are terminated.""" + for w in self.iterator._workers: # force terminate + if w.is_alive(): + w.terminate() + self.iterator._shutdown_workers() # cleanup + def reset(self): """ Reset iterator.