Unverified Commit 9ae1db0b authored by Lianmin Zheng's avatar Lianmin Zheng Committed by GitHub
Browse files

[Fix] Ignore import error (#1513)

parent 37c5899f
...@@ -568,17 +568,25 @@ def import_model_classes(): ...@@ -568,17 +568,25 @@ def import_model_classes():
package = importlib.import_module(package_name) package = importlib.import_module(package_name)
for _, name, ispkg in pkgutil.iter_modules(package.__path__, package_name + "."): for _, name, ispkg in pkgutil.iter_modules(package.__path__, package_name + "."):
if not ispkg: if not ispkg:
module = importlib.import_module(name) try:
module = importlib.import_module(name)
except Exception as e:
logger.warning(f"Ignore import error when loading {name}. " f"{e}")
continue
if hasattr(module, "EntryClass"): if hasattr(module, "EntryClass"):
entry = module.EntryClass entry = module.EntryClass
if isinstance( if isinstance(
entry, list entry, list
): # To support multiple model classes in one module ): # To support multiple model classes in one module
for tmp in entry: for tmp in entry:
assert tmp.__name__ not in model_arch_name_to_cls assert (
tmp.__name__ not in model_arch_name_to_cls
), f"Duplicated model implementation for {tmp.__name__}"
model_arch_name_to_cls[tmp.__name__] = tmp model_arch_name_to_cls[tmp.__name__] = tmp
else: else:
assert entry.__name__ not in model_arch_name_to_cls assert (
entry.__name__ not in model_arch_name_to_cls
), f"Duplicated model implementation for {entry.__name__}"
model_arch_name_to_cls[entry.__name__] = entry model_arch_name_to_cls[entry.__name__] = entry
return model_arch_name_to_cls return model_arch_name_to_cls
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment