From 1d2510b6d7ee478a6698e7a6ec89b1f5e46f9ff3 Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Mon, 17 Jan 2022 16:31:52 +0800 Subject: [PATCH] fix(module): fix module dumped in old version without _short_name attr GitOrigin-RevId: a1c815f613b34ddf7e4a4a2aeec41f353bdfb679 --- imperative/python/megengine/module/module.py | 6 +++++- imperative/python/megengine/traced_module/utils.py | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/imperative/python/megengine/module/module.py b/imperative/python/megengine/module/module.py index 717908de..9d3ea762 100644 --- a/imperative/python/megengine/module/module.py +++ b/imperative/python/megengine/module/module.py @@ -138,7 +138,11 @@ class Module(metaclass=ABCMeta): return HookHandler(self._forward_hooks, hook) def __call__(self, *inputs, **kwargs): - AutoNaming.push_scope(self.name if self.name is not None else self._short_name) + AutoNaming.push_scope( + self.name + if self.name is not None + else (self._short_name if hasattr(self, "_short_name") else self._name) + ) for hook in self._forward_pre_hooks.values(): modified_inputs = hook(self, inputs) if modified_inputs is not None: diff --git a/imperative/python/megengine/traced_module/utils.py b/imperative/python/megengine/traced_module/utils.py index 9a262c52..716b2bd5 100644 --- a/imperative/python/megengine/traced_module/utils.py +++ b/imperative/python/megengine/traced_module/utils.py @@ -222,7 +222,7 @@ class _ModuleList(Module, MutableSequence): def __setattr__(self, key, value): # clear mod name to avoid warning in Module's setattr if isinstance(value, Module): - value._name = None + value._short_name = None super().__setattr__(key, value) def __setitem__(self, idx: int, mod: Module): @@ -291,7 +291,7 @@ class _ModuleDict(Module, MutableMapping): def __setattr__(self, key, value): # clear mod name to avoid warning in Module's setattr if isinstance(value, Module): - value._name = None + value._short_name = None super().__setattr__(key, value) def __setitem__(self, key, value):