123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- """
- @Authors: yangzihao(yangzihao@china-icv.cn)
- @Data: 2024/01/30
- @Last Modified: 2024/01/30
- @Summary: Evaluateion functions
- """
- import os
- import importlib.util
- from collections import defaultdict
- import traceback
- def custom_run(folder_path, all_data, metric_list, case_name):
-
- results = defaultdict(dict)
-
-
-
- for filename in os.listdir(folder_path):
- try:
- if filename.endswith('.py') and not filename.startswith('__') and filename[
- :-3] in metric_list:
-
- module_path = os.path.join(folder_path, filename)
-
- spec = importlib.util.spec_from_file_location(filename[:-3], module_path)
- module = importlib.util.module_from_spec(spec)
- spec.loader.exec_module(module)
-
- if hasattr(module, 'CustomMetric'):
- CustomMetric = getattr(module, 'CustomMetric')
-
- metric_instance = CustomMetric(all_data, case_name)
- metric_result = metric_instance.result
-
- results[filename[:-3]] = metric_result
- except Exception as e:
- traceback.print_exc()
- continue
- return results
|