12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- ##################################################################
- #
- # Copyright (c) 2023 CICV, Inc. All Rights Reserved
- #
- ##################################################################
- """
- @Authors: yangzihao(yangzihao@china-icv.cn)
- @Data: 2024/01/30
- @Last Modified: 2024/01/30
- @Summary: Evaluateion functions
- """
- import os
- import sys
- import time
- import json
- import traceback
- import pandas as pd
- from single_case_eval import single_case_eval
- import log
- if __name__ == "__main__":
- # import warnings
- # warnings.filterwarnings("ignore")
- from warnings import simplefilter
- # simplefilter(action="ignore", category=FutureWarning)
- simplefilter(action="ignore")
- if len(sys.argv) >= 8:
- configPath = sys.argv[1]
- dataPath = sys.argv[2]
- reportPath = sys.argv[3]
- csvPath = sys.argv[4]
- logPath = sys.argv[5]
- customMetricPath = sys.argv[6]
- customScorePath = sys.argv[7]
- if len(sys.argv) >= 9:
- playbackPath = sys.argv[8]
- else:
- playbackPath = sys.argv[4] + "_playback.csv"
- if len(sys.argv) > 9:
- case_name = sys.argv[9]
- else:
- case_name = os.path.basename(os.path.dirname(dataPath))
- log.setup_logger(logPath)
- logger = log.get_logger()
- if not os.path.exists(configPath):
- print('Invalid configPath!')
- logger.error(f"[case:{case_name}] SINGLE_CASE_EVAL: Invalid configPath!")
- sys.exit(-1)
- elif not os.path.exists(dataPath):
- print('Invalid dataPath!')
- logger.error(f"[case:{case_name}] SINGLE_CASE_EVAL: Invalid dataPath!")
- sys.exit(-1)
- elif not os.path.exists(customMetricPath):
- print('Invalid customMetricPath!')
- logger.error(f"[case:{case_name}] SINGLE_CASE_EVAL: Invalid customMetricPath!")
- sys.exit(-1)
- elif not os.path.exists(customScorePath):
- print('Invalid customScorePath!')
- logger.error(f"[case:{case_name}] SINGLE_CASE_EVAL: Invalid customScorePath!")
- sys.exit(-1)
- else:
- try:
- logger.info(f"[case:{case_name}] SINGLE_CASE_EVAL: Start evaluating:")
- print("SINGLE_CASE_EVAL程序开始运行:")
- print(f" configPath: {configPath},\n dataPath: {dataPath},\n reportPath: {reportPath},\n "
- f"csvPath: {csvPath},\n logPath: {logPath},\n customMetricPath: {customMetricPath}\n "
- f"customScorePath: {customScorePath},\n caseName: {case_name}")
- t1 = time.time()
- single_case_eval(configPath, dataPath, reportPath, csvPath, playbackPath, customMetricPath,
- customScorePath, case_name)
- t2 = time.time()
- print(f"程序结束,执行时间:{int(t2 - t1)} s")
- logger.info(f"[case:{case_name}] SINGLE_CASE_EVAL: End.")
- sys.exit(0)
- except Exception as e:
- print("异常如下:")
- traceback.print_exc()
- else:
- logPath = sys.argv[5]
- log.setup_logger(logPath)
- logger = log.get_logger()
- print('SINGLE_CASE_EVAL: No enough arguments!')
- logger.error(f"SINGLE_CASE_EVAL: No enough arguments!")
- sys.exit(-1)
|