diff --git a/PaddleCV/rcnn/eval_coco_map.py b/PaddleCV/rcnn/eval_coco_map.py index 019bd877f244df5b3647cd3f227298b61842bf94..b0439fa053d869abc3d4da9d3622013308a522a5 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 e43391de49dd747aa488f73dd2255691622540cc..c008430776e33ccfaea910b39776292783630eb2 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 e2b2bc559ae5092109bf1cb26e3e48dac1cf2583..3443ccfcbff186e2db51ce795bb1569160c81ddb 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")