[Fix] Ignore import error (#1513)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user