Fix random dataloader freezes (#18697)
Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
This commit is contained in:
parent
deb87d8ce3
commit
be819455af
1 changed files with 7 additions and 0 deletions
|
|
@ -47,6 +47,13 @@ class InfiniteDataLoader(dataloader.DataLoader):
|
||||||
for _ in range(len(self)):
|
for _ in range(len(self)):
|
||||||
yield next(self.iterator)
|
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):
|
def reset(self):
|
||||||
"""
|
"""
|
||||||
Reset iterator.
|
Reset iterator.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue