diff --git a/src/eval_framework/tasks/task_loader.py b/src/eval_framework/tasks/task_loader.py index 7cb57c44..22678e47 100644 --- a/src/eval_framework/tasks/task_loader.py +++ b/src/eval_framework/tasks/task_loader.py @@ -8,7 +8,7 @@ from typing import Any from eval_framework.tasks.base import BaseTask -from eval_framework.tasks.registry import is_registered, register_task +from eval_framework.tasks.registry import is_registered, register_task, get_task logger = logging.getLogger(__name__) @@ -64,6 +64,9 @@ def load_extra_tasks(module_paths: Sequence[str | os.PathLike]) -> None: logger.info(f"[User Task Loader] Skipping {obj.__module__} - no NAME attribute present.") else: if is_registered(obj.NAME): + if get_task(obj.NAME) is obj: # same task, no need to do anything + continue + # two classes with the same NAME attribute logger.info(obj.__module__)