[cherry-pick] `Fix some typos for Jetson, metrics and result` from release/2.4-typos2 branch and merge. (#6119)
* [cherry-pick] Fix some typos for Jetson, metrics and result from release/2.4-typos2 branch and merge.pull/6128/head
parent
e03e52a2a4
commit
55d8af94f5
|
@ -809,7 +809,7 @@ plt.imshow(img)
|
|||
```
|
||||
fout.write(img_path + "\t" + json.dumps(
|
||||
{
|
||||
"ser_resule": result,
|
||||
"ser_result": result,
|
||||
}, ensure_ascii=False) + "\n")
|
||||
|
||||
```
|
||||
|
|
|
@ -246,7 +246,7 @@ class MyMetric(object):
|
|||
|
||||
def get_metric(self):
|
||||
"""
|
||||
return metircs {
|
||||
return metrics {
|
||||
'acc': 0,
|
||||
'norm_edit_dis': 0,
|
||||
}
|
||||
|
|
|
@ -237,7 +237,7 @@ class MyMetric(object):
|
|||
|
||||
def get_metric(self):
|
||||
"""
|
||||
return metircs {
|
||||
return metrics {
|
||||
'acc': 0,
|
||||
'norm_edit_dis': 0,
|
||||
}
|
||||
|
|
|
@ -1876,11 +1876,11 @@
|
|||
" rec_res)\n",
|
||||
" filter_boxes, filter_rec_res = [], []\n",
|
||||
" # 根据识别得分的阈值对结果进行过滤,如果得分小于阈值,就过滤掉\n",
|
||||
" for box, rec_reuslt in zip(dt_boxes, rec_res):\n",
|
||||
" text, score = rec_reuslt\n",
|
||||
" for box, rec_result in zip(dt_boxes, rec_res):\n",
|
||||
" text, score = rec_result\n",
|
||||
" if score >= self.drop_score:\n",
|
||||
" filter_boxes.append(box)\n",
|
||||
" filter_rec_res.append(rec_reuslt)\n",
|
||||
" filter_rec_res.append(rec_result)\n",
|
||||
" return filter_boxes, filter_rec_res\n",
|
||||
"\n",
|
||||
"def sorted_boxes(dt_boxes):\n",
|
||||
|
|
|
@ -1886,11 +1886,11 @@
|
|||
" rec_res)\n",
|
||||
" filter_boxes, filter_rec_res = [], []\n",
|
||||
" #Filter the results according to the threshold of the recognition score, if the score is less than the threshold, filter out\n",
|
||||
" for box, rec_reuslt in zip(dt_boxes, rec_res):\n",
|
||||
" text, score = rec_reuslt\n",
|
||||
" for box, rec_result in zip(dt_boxes, rec_res):\n",
|
||||
" text, score = rec_result\n",
|
||||
" if score >= self.drop_score:\n",
|
||||
" filter_boxes.append(box)\n",
|
||||
" filter_rec_res.append(rec_reuslt)\n",
|
||||
" filter_rec_res.append(rec_result)\n",
|
||||
" return filter_boxes, filter_rec_res\n",
|
||||
"\n",
|
||||
"def sorted_boxes(dt_boxes):\n",
|
||||
|
|
|
@ -64,9 +64,9 @@ class DetMetric(object):
|
|||
}
|
||||
"""
|
||||
|
||||
metircs = self.evaluator.combine_results(self.results)
|
||||
metrics = self.evaluator.combine_results(self.results)
|
||||
self.reset()
|
||||
return metircs
|
||||
return metrics
|
||||
|
||||
def reset(self):
|
||||
self.results = [] # clear results
|
||||
|
@ -127,20 +127,20 @@ class DetFCEMetric(object):
|
|||
'thr 0.9':'precision: 0 recall: 0 hmean: 0',
|
||||
}
|
||||
"""
|
||||
metircs = {}
|
||||
metrics = {}
|
||||
hmean = 0
|
||||
for score_thr in self.results.keys():
|
||||
metirc = self.evaluator.combine_results(self.results[score_thr])
|
||||
# for key, value in metirc.items():
|
||||
# metircs['{}_{}'.format(key, score_thr)] = value
|
||||
metirc_str = 'precision:{:.5f} recall:{:.5f} hmean:{:.5f}'.format(
|
||||
metirc['precision'], metirc['recall'], metirc['hmean'])
|
||||
metircs['thr {}'.format(score_thr)] = metirc_str
|
||||
hmean = max(hmean, metirc['hmean'])
|
||||
metircs['hmean'] = hmean
|
||||
metric = self.evaluator.combine_results(self.results[score_thr])
|
||||
# for key, value in metric.items():
|
||||
# metrics['{}_{}'.format(key, score_thr)] = value
|
||||
metric_str = 'precision:{:.5f} recall:{:.5f} hmean:{:.5f}'.format(
|
||||
metric['precision'], metric['recall'], metric['hmean'])
|
||||
metrics['thr {}'.format(score_thr)] = metric_str
|
||||
hmean = max(hmean, metric['hmean'])
|
||||
metrics['hmean'] = hmean
|
||||
|
||||
self.reset()
|
||||
return metircs
|
||||
return metrics
|
||||
|
||||
def reset(self):
|
||||
self.results = {
|
||||
|
|
|
@ -78,9 +78,9 @@ class E2EMetric(object):
|
|||
self.results.append(result)
|
||||
|
||||
def get_metric(self):
|
||||
metircs = combine_results(self.results)
|
||||
metrics = combine_results(self.results)
|
||||
self.reset()
|
||||
return metircs
|
||||
return metrics
|
||||
|
||||
def reset(self):
|
||||
self.results = [] # clear results
|
||||
|
|
|
@ -61,9 +61,9 @@ class KIEMetric(object):
|
|||
|
||||
def get_metric(self):
|
||||
|
||||
metircs = self.combine_results(self.results)
|
||||
metrics = self.combine_results(self.results)
|
||||
self.reset()
|
||||
return metircs
|
||||
return metrics
|
||||
|
||||
def reset(self):
|
||||
self.results = [] # clear results
|
||||
|
|
|
@ -34,13 +34,13 @@ class VQASerTokenMetric(object):
|
|||
|
||||
def get_metric(self):
|
||||
from seqeval.metrics import f1_score, precision_score, recall_score
|
||||
metircs = {
|
||||
metrics = {
|
||||
"precision": precision_score(self.gt_list, self.pred_list),
|
||||
"recall": recall_score(self.gt_list, self.pred_list),
|
||||
"hmean": f1_score(self.gt_list, self.pred_list),
|
||||
}
|
||||
self.reset()
|
||||
return metircs
|
||||
return metrics
|
||||
|
||||
def reset(self):
|
||||
self.pred_list = []
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Jeston端基础训练预测功能测试
|
||||
# Jetson端基础训练预测功能测试
|
||||
|
||||
Jeston端基础训练预测功能测试的主程序为`test_inference_inference.sh`,由于Jeston端CPU较差,Jeston只需要测试TIPC关于GPU和TensorRT预测推理的部分即可。
|
||||
Jetson端基础训练预测功能测试的主程序为`test_inference_inference.sh`,由于Jetson端CPU较差,Jetson只需要测试TIPC关于GPU和TensorRT预测推理的部分即可。
|
||||
|
||||
## 1. 测试结论汇总
|
||||
|
||||
|
@ -42,7 +42,7 @@ Jeston端基础训练预测功能测试的主程序为`test_inference_inference.
|
|||
|
||||
先运行`prepare.sh`准备数据和模型,然后运行`test_inference_inference.sh`进行测试,最终在```test_tipc/output```目录下生成`python_infer_*.log`格式的日志文件。
|
||||
|
||||
`test_inference_inference.sh`仅有一个模式`whole_infer`,在Jeston端,仅需要测试预测推理的模式即可:
|
||||
`test_inference_inference.sh`仅有一个模式`whole_infer`,在Jetson端,仅需要测试预测推理的模式即可:
|
||||
|
||||
```
|
||||
- 模式3:whole_infer,不训练,全量数据预测,走通开源模型评估、动转静,检查inference model预测时间和精度;
|
||||
|
@ -51,7 +51,7 @@ bash test_tipc/prepare.sh ./test_tipc/configs/ch_ppocr_mobile_v2.0_det/model_lin
|
|||
# 用法1:
|
||||
bash test_tipc/test_inference_inference.sh ./test_tipc/configs/ch_ppocr_mobile_v2.0_det/model_linux_gpu_normal_normal_infer_python_jetson.txt 'whole_infer'
|
||||
# 用法2: 指定GPU卡预测,第三个传入参数为GPU卡号
|
||||
bash test_tipc/test_inference_jeston.sh ./test_tipc/configs/ch_ppocr_mobile_v2.0_det/model_linux_gpu_normal_normal_infer_python_jetson.txt 'whole_infer' '1'
|
||||
bash test_tipc/test_inference_jetson.sh ./test_tipc/configs/ch_ppocr_mobile_v2.0_det/model_linux_gpu_normal_normal_infer_python_jetson.txt 'whole_infer' '1'
|
||||
```
|
||||
|
||||
运行相应指令后,在`test_tipc/output`文件夹下自动会保存运行日志。如`whole_infer`模式下,会运行训练+inference的链条,因此,在`test_tipc/output`文件夹有以下文件:
|
||||
|
|
|
@ -193,7 +193,7 @@ def create_predictor(args, mode, logger):
|
|||
gpu_id = get_infer_gpuid()
|
||||
if gpu_id is None:
|
||||
logger.warning(
|
||||
"GPU is not found in current device by nvidia-smi. Please check your device or ignore it if run on jeston."
|
||||
"GPU is not found in current device by nvidia-smi. Please check your device or ignore it if run on jetson."
|
||||
)
|
||||
config.enable_use_gpu(args.gpu_mem, 0)
|
||||
if args.use_tensorrt:
|
||||
|
|
|
@ -104,7 +104,7 @@ def main():
|
|||
preds = model(images)
|
||||
post_result = post_process_class(preds, shape_list)
|
||||
points, strs = post_result['points'], post_result['texts']
|
||||
# write resule
|
||||
# write result
|
||||
dt_boxes_json = []
|
||||
for poly, str in zip(points, strs):
|
||||
tmp_json = {"transcription": str}
|
||||
|
|
|
@ -193,7 +193,7 @@ if __name__ == '__main__':
|
|||
result = result[0]
|
||||
fout.write(img_path + "\t" + json.dumps(
|
||||
{
|
||||
"ser_resule": result,
|
||||
"ser_result": result,
|
||||
}, ensure_ascii=False) + "\n")
|
||||
img_res = draw_re_results(img_path, result)
|
||||
cv2.imwrite(save_img_path, img_res)
|
||||
|
|
Loading…
Reference in New Issue