123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- ##################################################################
- #
- # Copyright (c) 2023 CICV, Inc. All Rights Reserved
- #
- ##################################################################
- """
- @Authors: yangzihao(yangzihao@china-icv.cn)
- @Data: 2024/03/27
- @Last Modified: 2024/03/27
- @Summary: Evaluation entrance
- """
- import os
- import sys
- import time
- from single_case_eval import single_case_eval
- from common import get_subfolders_name
- import log
- if __name__ == "__main__":
- # if len(sys.argv) >= 6:
- # configPath = sys.argv[1]
- # dataPath = sys.argv[2]
- # reportPath = sys.argv[3]
- # csvPath = sys.argv[4]
- # customMetricPath = sys.argv[5]
- # customScorePath = sys.argv[6]
- #
- # case_name = os.path.basename(os.path.dirname(dataPath))
- #
- # 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 customMetricPath: {customMetricPath}\n customScorePath: {customScorePath}")
- # t1 = time.time()
- # single_case_eval(configPath, dataPath, reportPath, csvPath, customMetricPath, customScorePath)
- # 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("异常,退出...")
- # print(repr(e))
- # sys.exit(-1)
- # else:
- # print('No enough arguments!')
- # logger.error(f"SINGLE_CASE_EVAL: No enough arguments!")
- # sys.exit(-1)
- task_path = r"./task_0416"
- cases = get_subfolders_name(task_path)
- for case in cases:
- dataPath = os.path.join(task_path, case)
- # dataPath = r"./task/pjibot_pjibot-P1YNYD1M228000127_data_merge_2024-04-07-02-01-35_obstacledetection_9"
- configPath = r"./config.json"
- # case_name = os.path.basename(os.path.dirname(dataPath))
- case_name = dataPath.split('/')[-1]
- casePath = os.path.join("./result", case_name)
- if not os.path.exists(casePath):
- os.makedirs(casePath)
- reportPath = rf"{casePath}/report.json"
- logFileName = './result/log.txt'
- log.setup_logger(logFileName)
- logger = log.get_logger()
- if not os.path.exists(dataPath):
- print('Invalid dataPath!')
- logger.error(f"[case:{case_name}] SINGLE_CASE_EVAL: Invalid dataPath!")
- else:
- logger.info(f"[case:{case_name}] SINGLE_CASE_EVAL: Start evaluating:")
- print("SINGLE_CASE_EVAL程序开始运行:")
- print(f" dataPath: {dataPath}, \n reportPath: {reportPath}")
- t1 = time.time()
- single_case_eval(configPath, dataPath, reportPath, casePath)
- t2 = time.time()
- print(f"程序结束,执行时间:{int(t2 - t1)} s")
- logger.info(f"[case:{case_name}] SINGLE_CASE_EVAL: End.")
|