12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- """
- @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
- def custom_run(folder_path, all_data, metric_list, case_name):
-
- results = defaultdict(dict)
-
-
-
- for filename in os.listdir(folder_path):
- 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
- return results
|