From 1bc6245c433257af4962e37be92a911b7ea5a696 Mon Sep 17 00:00:00 2001 From: Matthias Hadlich Date: Tue, 27 Jun 2023 14:02:27 +0200 Subject: [PATCH 1/6] Add CallableEventWithFilter support to GarbageCollector Signed-off-by: Matthias Hadlich --- monai/handlers/garbage_collector.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/monai/handlers/garbage_collector.py b/monai/handlers/garbage_collector.py index 858c78095a..a5c972a8d9 100644 --- a/monai/handlers/garbage_collector.py +++ b/monai/handlers/garbage_collector.py @@ -13,6 +13,7 @@ import gc from typing import TYPE_CHECKING +from ignite.engine.events import CallableEventWithFilter from monai.config import IgniteInfo from monai.utils import min_version, optional_import @@ -45,7 +46,7 @@ class GarbageCollector: def __init__(self, trigger_event: str = "epoch", log_level: int = 10): self.trigger_event: Events - if isinstance(trigger_event, Events): + if isinstance(trigger_event, Events) or isinstance(trigger_events, CallableEventWithFilter): self.trigger_event = trigger_event elif trigger_event.lower() == "epoch": self.trigger_event = Events.EPOCH_COMPLETED From 6bc5ab69a9f32e49f1e79b29f37cf2d68065430b Mon Sep 17 00:00:00 2001 From: Matthias Hadlich Date: Tue, 27 Jun 2023 14:09:55 +0200 Subject: [PATCH 2/6] Fix imports for GarbageCollector Signed-off-by: Matthias Hadlich --- monai/handlers/garbage_collector.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/monai/handlers/garbage_collector.py b/monai/handlers/garbage_collector.py index a5c972a8d9..5e458542ba 100644 --- a/monai/handlers/garbage_collector.py +++ b/monai/handlers/garbage_collector.py @@ -13,16 +13,18 @@ import gc from typing import TYPE_CHECKING -from ignite.engine.events import CallableEventWithFilter + from monai.config import IgniteInfo from monai.utils import min_version, optional_import if TYPE_CHECKING: from ignite.engine import Engine, Events + from ignite.engine.events import CallableEventWithFilter else: Engine, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Engine") Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events") + Events, _ = optional_import("ignite.engine.events", IgniteInfo.OPT_IMPORT_VERSION, min_version, "CallableEventWithFilter") class GarbageCollector: From b7dd86b8c73200b861a210eb72000896db0cc2e1 Mon Sep 17 00:00:00 2001 From: Matthias Hadlich Date: Tue, 27 Jun 2023 14:27:34 +0200 Subject: [PATCH 3/6] Fix garbage_collector.py Signed-off-by: Matthias Hadlich --- monai/handlers/garbage_collector.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/monai/handlers/garbage_collector.py b/monai/handlers/garbage_collector.py index 5e458542ba..8a1ef9ea2f 100644 --- a/monai/handlers/garbage_collector.py +++ b/monai/handlers/garbage_collector.py @@ -22,9 +22,9 @@ from ignite.engine import Engine, Events from ignite.engine.events import CallableEventWithFilter else: + CallableEventWithFilter, _ = optional_import("ignite.engine.events", IgniteInfo.OPT_IMPORT_VERSION, min_version, "CallableEventWithFilter") Engine, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Engine") Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events") - Events, _ = optional_import("ignite.engine.events", IgniteInfo.OPT_IMPORT_VERSION, min_version, "CallableEventWithFilter") class GarbageCollector: @@ -48,7 +48,7 @@ class GarbageCollector: def __init__(self, trigger_event: str = "epoch", log_level: int = 10): self.trigger_event: Events - if isinstance(trigger_event, Events) or isinstance(trigger_events, CallableEventWithFilter): + if isinstance(trigger_event, Events) or isinstance(trigger_event, CallableEventWithFilter): self.trigger_event = trigger_event elif trigger_event.lower() == "epoch": self.trigger_event = Events.EPOCH_COMPLETED From 2d161e6d954f0b0f44c956e9fd8756807c185695 Mon Sep 17 00:00:00 2001 From: monai-bot Date: Wed, 28 Jun 2023 07:28:44 +0000 Subject: [PATCH 4/6] [MONAI] code formatting Signed-off-by: monai-bot --- monai/handlers/garbage_collector.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/monai/handlers/garbage_collector.py b/monai/handlers/garbage_collector.py index 8a1ef9ea2f..cc96b2e7cd 100644 --- a/monai/handlers/garbage_collector.py +++ b/monai/handlers/garbage_collector.py @@ -14,7 +14,6 @@ import gc from typing import TYPE_CHECKING - from monai.config import IgniteInfo from monai.utils import min_version, optional_import @@ -22,7 +21,9 @@ from ignite.engine import Engine, Events from ignite.engine.events import CallableEventWithFilter else: - CallableEventWithFilter, _ = optional_import("ignite.engine.events", IgniteInfo.OPT_IMPORT_VERSION, min_version, "CallableEventWithFilter") + CallableEventWithFilter, _ = optional_import( + "ignite.engine.events", IgniteInfo.OPT_IMPORT_VERSION, min_version, "CallableEventWithFilter" + ) Engine, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Engine") Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events") From e4e282382516055790e81bcc4922498733f095ae Mon Sep 17 00:00:00 2001 From: Matthias Hadlich Date: Wed, 28 Jun 2023 10:22:43 +0200 Subject: [PATCH 5/6] Fix typing for GarbageCollector Signed-off-by: Matthias Hadlich --- monai/handlers/garbage_collector.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/monai/handlers/garbage_collector.py b/monai/handlers/garbage_collector.py index cc96b2e7cd..085b001139 100644 --- a/monai/handlers/garbage_collector.py +++ b/monai/handlers/garbage_collector.py @@ -12,7 +12,7 @@ from __future__ import annotations import gc -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Union from monai.config import IgniteInfo from monai.utils import min_version, optional_import @@ -47,8 +47,8 @@ class GarbageCollector: - 0 (NOTSET) """ - def __init__(self, trigger_event: str = "epoch", log_level: int = 10): - self.trigger_event: Events + def __init__(self, trigger_event: Union[str, Events, CallableEventWithFilter] = "epoch", log_level: int = 10): + self.trigger_event: Union[Events, CallableEventWithFilter] if isinstance(trigger_event, Events) or isinstance(trigger_event, CallableEventWithFilter): self.trigger_event = trigger_event elif trigger_event.lower() == "epoch": From f910acec6b98728d5a68519f6ee93281634dd01e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 28 Jun 2023 08:23:21 +0000 Subject: [PATCH 6/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- monai/handlers/garbage_collector.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/monai/handlers/garbage_collector.py b/monai/handlers/garbage_collector.py index 085b001139..f02e48364b 100644 --- a/monai/handlers/garbage_collector.py +++ b/monai/handlers/garbage_collector.py @@ -12,7 +12,7 @@ from __future__ import annotations import gc -from typing import TYPE_CHECKING, Union +from typing import TYPE_CHECKING from monai.config import IgniteInfo from monai.utils import min_version, optional_import @@ -47,8 +47,8 @@ class GarbageCollector: - 0 (NOTSET) """ - def __init__(self, trigger_event: Union[str, Events, CallableEventWithFilter] = "epoch", log_level: int = 10): - self.trigger_event: Union[Events, CallableEventWithFilter] + def __init__(self, trigger_event: str | Events | CallableEventWithFilter = "epoch", log_level: int = 10): + self.trigger_event: Events | CallableEventWithFilter if isinstance(trigger_event, Events) or isinstance(trigger_event, CallableEventWithFilter): self.trigger_event = trigger_event elif trigger_event.lower() == "epoch":