From f45fa1672bcf64c26e19d2881a3a4539b9a4688b Mon Sep 17 00:00:00 2001 From: hesham Date: Tue, 15 Dec 2020 12:29:37 -0500 Subject: [PATCH] Fix bug of not calling __del__ of Map and Batch --- mindspore/dataset/engine/datasets.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mindspore/dataset/engine/datasets.py b/mindspore/dataset/engine/datasets.py index 92bc811168..0697cd89d4 100644 --- a/mindspore/dataset/engine/datasets.py +++ b/mindspore/dataset/engine/datasets.py @@ -124,7 +124,7 @@ class Dataset: self.parent = [] for child in self.children: - child.parent.append(self) + child.parent.append(weakref.ref(self)) self.num_parallel_workers = num_parallel_workers # todo check the following: @@ -1945,6 +1945,7 @@ class BatchDataset(Dataset): def __del__(self): if hasattr(self, 'process_pool') and self.process_pool is not None: + logger.info("Batch process pool is being terminated.") self.process_pool.close() @@ -2376,6 +2377,7 @@ class MapDataset(Dataset): def __del__(self): if hasattr(self, 'process_pool') and self.process_pool is not None: + logger.info("Map process pool is being terminated.") self.process_pool.close()