Skip to content

Commit 53474ef

Browse files
authored
[Fix] Fix get class attribute from a string (#1345)
1 parent be3d5c6 commit 53474ef

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

mmengine/utils/misc.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -532,11 +532,12 @@ def get_object_from_string(obj_name: str):
532532
return None
533533

534534
# get class or attribute from module
535+
obj = module
535536
while True:
536537
try:
537-
obj_cls = getattr(module, part)
538+
obj = getattr(obj, part)
538539
part = next(parts)
539540
except StopIteration:
540-
return obj_cls
541+
return obj
541542
except AttributeError:
542543
return None

tests/test_utils/test_misc.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,3 +336,5 @@ def test_locate():
336336
assert get_object_from_string('mmengine.model') is model_module
337337
assert get_object_from_string(
338338
'mmengine.model.BaseModel') is model_module.BaseModel
339+
assert get_object_from_string('mmengine.model.BaseModel.forward') is \
340+
model_module.BaseModel.forward

0 commit comments

Comments
 (0)