From a8cf62b1b0fbdd2c534402f0f6b95bd44b51cf77 Mon Sep 17 00:00:00 2001 From: Kaipeng Deng Date: Fri, 25 Oct 2019 11:40:16 +0800 Subject: [PATCH] fix unicode python3 compatable (#3761) --- PaddleCV/rcnn/eval_coco_map.py | 7 +++++-- PaddleCV/ssd/eval_coco_map.py | 4 +++- PaddleCV/yolov3/eval.py | 4 +++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/PaddleCV/rcnn/eval_coco_map.py b/PaddleCV/rcnn/eval_coco_map.py index 019bd877..b0439fa0 100644 --- a/PaddleCV/rcnn/eval_coco_map.py +++ b/PaddleCV/rcnn/eval_coco_map.py @@ -17,6 +17,7 @@ from __future__ import division from __future__ import print_function import os import io +import six import time import numpy as np from eval_helper import * @@ -118,7 +119,8 @@ def eval(): Please use reasonable model and check input data." with io.open("detection_bbox_result.json", 'w') as outfile: - outfile.write(unicode(json.dumps(dts_res))) + encode_func = unicode if six.PY2 else str + outfile.write(encode_func(json.dumps(dts_res))) print("start evaluate bbox using coco api") cocoDt = cocoGt.loadRes("detection_bbox_result.json") cocoEval = COCOeval(cocoGt, cocoDt, 'bbox') @@ -128,7 +130,8 @@ def eval(): if cfg.MASK_ON: with io.open("detection_segms_result.json", 'w') as outfile: - outfile.write(unicode(json.dumps(segms_res))) + encode_func = unicode if six.PY2 else str + outfile.write(encode_func(json.dumps(segms_res))) print("start evaluate mask using coco api") cocoDt = cocoGt.loadRes("detection_segms_result.json") cocoEval = COCOeval(cocoGt, cocoDt, 'segm') diff --git a/PaddleCV/ssd/eval_coco_map.py b/PaddleCV/ssd/eval_coco_map.py index e43391de..c0084307 100644 --- a/PaddleCV/ssd/eval_coco_map.py +++ b/PaddleCV/ssd/eval_coco_map.py @@ -13,6 +13,7 @@ # limitations under the License. import os import io +import six import time import numpy as np import argparse @@ -130,7 +131,8 @@ def eval(args, data_args, test_list, batch_size, model_dir=None): dts_res += get_dt_res(nmsed_out_v, data) with io.open("detection_result.json", 'w') as outfile: - outfile.write(unicode(json.dumps(dts_res))) + encode_func = unicode if six.PY2 else str + outfile.write(encode_func(json.dumps(dts_res))) print("start evaluate using coco api") cocoGt = COCO(os.path.join(data_args.data_dir, test_list)) cocoDt = cocoGt.loadRes("detection_result.json") diff --git a/PaddleCV/yolov3/eval.py b/PaddleCV/yolov3/eval.py index e2b2bc55..3443ccfc 100644 --- a/PaddleCV/yolov3/eval.py +++ b/PaddleCV/yolov3/eval.py @@ -17,6 +17,7 @@ from __future__ import division from __future__ import print_function import os import io +import six import time import json import numpy as np @@ -115,7 +116,8 @@ def eval(): total_time += end_time - start_time with io.open("yolov3_result.json", 'w') as outfile: - outfile.write(unicode(json.dumps(dts_res))) + encode_func = unicode if six.PY2 else str + outfile.write(encode_func(json.dumps(dts_res))) print("start evaluate detection result with coco api") coco = COCO(os.path.join(cfg.data_dir, test_list)) cocoDt = coco.loadRes("yolov3_result.json") -- GitLab